58

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.

Dan
  • 526
  • 9
  • 28
onerciller
  • 760
  • 1
  • 8
  • 13

10 Answers10

82
  1. First download the REDIS to your system (if you haven't already installed it).
  2. Go to the folder where you have downloaded the redis and run this command:

    cd your-redis-folder-name
    make
    
  3. Go to your project directory and install composer:

    composer require predis/predis

  4. Go to your .env file and add Queue driver:

    QUEUE_DRIVER=redis
    
  5. use Mail::queue() to send mail via queue. See Doc.
  6. And in your terminal run:

    php artisan queue:listen 
    

    to send.

Abhishek
  • 3,900
  • 21
  • 42
44

Write in console in project folder:

composer require predis/predis

And thats all.

Kamil Kiełczewski
  • 85,173
  • 29
  • 368
  • 345
7

You need to add predis/predis into composer.json for your project. Reference: https://laravel.com/docs/5.2/redis#introduction

Marcin Nabiałek
  • 109,655
  • 42
  • 258
  • 291
5

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.

Karl Johan Vallner
  • 3,980
  • 4
  • 35
  • 46
4

we have add composer.json file "predis/predis": "~1.0" help working fine.

2

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

Eymen
  • 135
  • 9
1

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.

David García Bodego
  • 1,058
  • 3
  • 13
  • 21
PeterPi
  • 91
  • 2
  • 7
0

Running composer dump after installing predis/predis package might be necessary

0

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;
sadegh salehi
  • 11
  • 1
  • 3
0

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.

naw103
  • 1,843
  • 1
  • 15
  • 14