Я получаю сообщение об ошибке "Класс '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
И все.
Ответ 3
Вам нужно добавить predis/predis
в composer.json
для вашего проекта. Ссылка: https://laravel.com/docs/5.2/redis#introduction
Ответ 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 проектах в прошлом году.