Я получаю сообщение об ошибке "Класс 'Predis\Client' не найден" в Laravel 5.2

Я хочу использовать Redis в laravel 5.2, однако, я получаю ошибку, такой класс "Predis\Client" не найден, как я могу его решить.

Ответы

Ответ 1

  • Сначала загрузите REDIS в вашу систему (если вы еще не установили ее).
  • Перейдите в папку, в которую вы загрузили redis, и запустите эту команду:

    cd your-redis-folder-name
    make
    
  • Перейдите в каталог проекта и установите композитор:

    composer require predis/predis

  • Перейдите в ваш .env файл и добавьте драйвер очереди:

    QUEUE_DRIVER=redis
    
  • используйте Mail::queue() для отправки почты через очередь. См. Doc.
  • И в вашем терминальном запуске:

    php artisan queue:listen 
    

    для отправки.

Ответ 2

Запись в консоли в папке проекта:

composer require predis/predis

И все.

Ответ 4

мы добавили файл composer.json "predis/predis": "~ 1.0" помогает работать нормально.

Ответ 5

Может потребоваться запуск composer dump после установки пакета predis/predis

Ответ 6

Кстати, если вы используете рабочие Laravel, с Ubuntu Supervisor, и эта ошибка не исчезнет даже после того, как вы сделали

composer require predis/predis

Тогда помните, дети, этот супервизор кэширует весь ваш php-код, как только вы загрузите его. Поэтому установка predis после загрузки рабочих супервизора (https://laravel.com/docs/5.6/queues#supervisor-configuration) не будет иметь значения, пока вы не сделаете это.

sudo supervisorctl stop laravel-worker:*

а затем начните снова

sudo supervisorctl start laravel-worker:*

Я застрял на этом час или два, на 3 проектах в прошлом году.