Класс 'Pheanstalk_Pheanstalk' не найден в Laravel 4 с Beanstalk

Я пытаюсь запустить beanstalk и получить исключение при попытке запустить Queue::push():

Class 'Pheanstalk_Pheanstalk' not found

Я запустил composer, требующий pda / pheanstalk, и даже заново создал файл автозагрузки.

Это происходит в./vendor/laravel/framework/src/Illuminate/Queue/Connectors/BeanstalkdConnector.php

Есть идеи?

4 ответа

В composer.json замените строку требований к pda/pheanstalk на

"pda/pheanstalk": "2.0.*"

Бежать

composer update

Предупреждение: также обновит Laravel.

Источник: http://laravel.io/forum/07-17-2014-class-pheanstalk-pheanstalk-not-found

Игнорирование. Нашел ответ на https://github.com/laravel/framework/issues/746. По-видимому, самая новая версия была реорганизована или что-то.

Возможно, вы используете pheanstalk 3, который у меня не работал с Laravel 4. Используйте эту команду для переключения на более старую версию:

composer require pda/pheanstalk "~2.1"

Если вы используете версию, такую ​​как 2.1.1, и если вы используете пространство имен use Pheanstalk\Pheanstalk, тогда это может быть проблемой (это было для меня). Версия 2.1.1 не совместима с использованием пространств имен, поэтому вы должны удалить use ... строка, а затем, при запуске экземпляра типа класса PheanstalkВы делаете это следующим образом:

$pheanstalkObject = new Pheanstalk_Pheanstalk('127.0.0.1');
Другие вопросы по тегам