9

I met a weied problem when installing phpredis by

cd phpredis && ./configure && make && make install

after that, I add

extension=redis.so

into php.ini.

I can get an OK by running

php -r "if (new Redis() == true){ echo \"\r\n OK \r\n\"; }"

BUT when running http:127.0.0.1, nginx throw a error " Fatal error: Class 'Redis' not found in index.php"

<?php>
    $client = new Redis();
<?>

I guess this may be some problems related with environment...

Thanks for any advice!

kaitian521
  • 548
  • 2
  • 10
  • 25

3 Answers3

12

The command line probably does not use the same php.ini file than the web server. Use phpinfo(); to know which configuration file is loaded in both cases and then declare your extension in the ini file used by your web server.

Pascal Le Merrer
  • 5,883
  • 20
  • 35
3

I had this issue minutes ago, and I solved it restarting the server, this way the server refresh *.ini files

0

If you're using composer and get the error "Class Redis not found" try put a backslash before the name class. Like this:

<?php
    $client = new \Redis();
<?
  • Your answer could be improved with additional supporting information. Please [edit] to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers [in the help center](/help/how-to-answer). – Community Feb 07 '22 at 04:46