I want to using Redis in laravel 5.2 however, I'm getting error such a Class 'Predis\Client' not found, How I can solve it.
- First download the REDIS to your system (if you haven't already installed it).
Go to the folder where you have downloaded the redis and run this command:
cd your-redis-folder-name make
Go to your project directory and install composer:
composer require predis/predis
Go to your .env file and add Queue driver:
QUEUE_DRIVER=redis
- use
Mail::queue()
to send mail via queue. See Doc. And in your terminal run:
php artisan queue:listen
to send.
cd your-redis-folder-name make
mean? when I do this it throws:: The term 'make' is not recognized as the name of a cmdlet. and when I write cd my-redis-extracted-folders make
it errors A positional parameter cannot be found that accepts argument 'make'. –
Gona Write in console in project folder:
composer require predis/predis
And thats all.
You need to add predis/predis
into composer.json
for your project. Reference: https://laravel.com/docs/5.2/redis#introduction
Btw, if you are using laravel workers, with ubuntu supervisor and this error will not dissappear even after you did
composer require predis/predis
Then remember kids, that supervisor caches all your php code, once you boot it. So installing predis after you booted supervisor workers (https://laravel.com/docs/5.6/queues#supervisor-configuration), will not make a difference, until you do
sudo supervisorctl stop laravel-worker:*
and then start it again
sudo supervisorctl start laravel-worker:*
I've been stuck on this for an hour or two, on 3 projects in the last year.
we have add composer.json file "predis/predis": "~1.0" help working fine.
you can also try to run Redis as a local server, download this and run the run Redis server
file
if you still get it use composer require predis/predis
I solved the problem just including the use Predis;
above class file in app folder.
If you installed predis via composer require predis/predis already.
Running composer dump
after installing predis/predis package might be necessary
It's easy to just look at the path and filename Examples that exist Most of the path name or autoload file name are not spelled correctly
1-go to https://github.com/predis/predis/tags
2-create folder in host by name redis
3-download predis and upload to your website dir (www) in redis
4- create index.php out of the predis folder(redis)
5- past this code for test in index.php
require 'redis/Autoload.php';
Predis\Autoloader::register();
$client = new Predis\Client();
$client->set('foo', 'bar');
$value = $client->get('foo');
echo $value;
My issue was that I updated the .env file through Envoyer to use redis as the session and cache drivers prior to deploying the composer lock file. This was causing composer install to fail on deployment.
Resolved by changing the session and cache drivers back to file, then deploying the updated composer lock file and running composer install, then updated the session and cache drivers back in the .env file back to redis and redeployed again.
© 2022 - 2024 — McMap. All rights reserved.