laravel5框架下报错Class 'Predis\Client' not found
故障报错:
2015/12/25 11:16:36 [error] 15155#0: *43 FastCGI sent in stderr:
"PHP message: PHP Fatal error: Class 'Predis\Client' not found in
/var/www/xxxxx/vendor/laravel/framework/src/Illuminate/Redis/Database.php
on line 62" while reading response header from upstream,
client: 127.0.0.1, server: localhost, request: "POST /xxx/v2/task/cr HTTP/1.1",
upstream: "fastcgi://127.0.0.1:9000", host: "127.0.0.1:7500"
环境描述:
系统环境:
CentOS release 6.5 (Final)
php版本:
PHP 5.5.28 (cli) (built: Nov 19 2015 12:08:01)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
laravel框架和predis版本
"require": {
"php": ">=5.5.9",
"laravel/framework": "5.1.*",
"predis/predis": "^1.0",
},
存储:redis实现
redis-cli 2.8.3
supervisor来实现队列
[program:zhuima]
process_name=%(program_name)s_%(process_num)02d
command= php artisan queue:work --sleep=3 --tries=1 --daemon
autostart=true
autorestart=true
user=www
numprocs=8
redirect_stderr=true
stdout_logfile=/tmp/xxx.log
症状出现频率:
刚开始是正常的,使用一会就会出现Class 'Predis\Client' not found的报错,
临时解决方式:重装predis模块解决,但是过一会,时间间隔半个小时左右又会报错
求助php大神帮忙定位下是什么问题?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
你可以参考这篇文章laravel5.*安装使用Redis以及解决Class 'PredisClient' not found和Fatal error: Non-static method Redis::set() cannot be called statically错误
@eearnpls 正常场景下不会出现这种问题的,出现该故障的机器上环境比较复杂,另外就是机器php的redis扩展和laravel框架的predis模块的方法又冲突导致的,后来标准化环境之后就没出现过这种情况了
composer require predis/predis