首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >致命错误:找不到'Redis‘类

致命错误:找不到'Redis‘类
EN

Stack Overflow用户
提问于 2014-08-10 23:57:45
回答 5查看 73K关注 0票数 20

我已经用phpredis扩展在我的ubuntu 14服务器上安装了Redis。我使用的是Nginx服务器。我有php测试脚本

代码语言:javascript
运行
复制
$redis=new Redis() or die("Cannot load Redis module.");
$redis->connect('localhost');
$redis->set('random', rand(5000,6000));
echo $redis->get('random');

它可以在命令行中正常工作,但在web浏览器中不能正常工作。

Nginx错误日志:

代码语言:javascript
运行
复制
[info] 31102#0: Using 32768KiB of shared memory for push module in /etc/nginx/nginx.conf:82
[error] 31108#0: *21 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Class 'Redis' not found in...

即使在phpinfo()中我也看不到它

都是用apt-get install安装的

所有其他模块(mysql、imagemagick...)都工作得很好

我在谷歌上花了几个小时,但没有发现任何有用的东西

EN

回答 5

Stack Overflow用户

发布于 2018-07-30 01:38:55

您已经安装了redis,但还没有安装php-redis。您只需运行以下命令即可安装php-redis

代码语言:javascript
运行
复制
sudo apt-get install php-redis
票数 27
EN

Stack Overflow用户

发布于 2014-08-14 06:37:55

PhpRedis的手动安装解决了这个问题

代码语言:javascript
运行
复制
git clone git://github.com/nicolasff/phpredis.git
cd phpredis
phpize
./configure
make
sudo -s make install

sudo -s
echo "extension=redis.so">/etc/php5/conf.d/redis.ini
ln -s /etc/php5/conf.d/redis.ini /etc/php5/fpm/conf.d/20-redis.ini
exit

Rico's Tech Memo复制

票数 13
EN

Stack Overflow用户

发布于 2018-03-28 23:56:07

TLDR;

在Ubuntu16.04上使用NGINX和PHP7时,我发现PHP-FPM没有重启。一次简单的服务重启对我来说很有效:

sudo service php-fpm restart

sudo service php7.0-fpm restart

sudo service php5-fpm restart

你可能需要搜索“重新启动PHP-FPM”,以防上面的任何命令对你无效。

为了给出一些上下文,我使用标准的sudo apt-get install php-redis安装了phpredis,并使用sudo systemctl restart nginx重新启动了nginx,但每当尝试在PHP中使用new Redis()时,我都会收到与问题中相同的错误(...找不到类“Redis”...)。

当在NGINX服务器上的PHP文件中运行phpinfo();时,我可以看到PHP-FPM正在从/etc/php/7.0/fpm/conf.d加载额外的配置(“扫描这个目录中的额外的.ini文件”部分)。通过一个简单的ls -al /etc/php/7.0/fpm/conf.d查看该目录,我可以看到有一个名为20-redis.ini的符号链接,但是在phpinfo部分“解析的其他.ini文件”中没有加载该文件。

我现在看到的问题是,重启NGINX并没有重启PHP-FPM。当我停止NGINX时,使用ps aux | grep php-fpm查看是否有任何PHP-FPM进程在运行,这证实了我的怀疑。因为需要重启才能重新加载PHP模块,所以除了NGINX重启之外,还需要重启PHP-FPM。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25230399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档