致命错误:未捕获的异常'RedisException',消息'Redis服务器消失了'

时间:2014-07-27 20:08:16

标签: php redis phpredis

我的一个应用程序突然开始出错:

Fatal error: Uncaught exception 'RedisException' with message 'Redis server went away' in /var/www/_slim/_core/system/generator.001.php:133 Stack trace: #0 /var/www/_slim/_core/system/generator.001.php(133): Redis->auth('77B1BFFBC0378DF...') #1 /var/www/_slim/_core/system/generator.007.php(144): Generator001->r6_redis_start('R') #2 /var/www/_slim/_core/system/generator.007.php(26): Generator007->HarvestRedis() #3 /var/www/_slim/_core/system/generator.shopping.php(14): Generator007->Generator007() #4 /var/www/_slim/_core/system/generator.last.php(43): Generator008->Generator008() #5 /var/www/_slim/site/home/php/index.php(16): GeneratorLast->GeneratorLast() #6 /var/www/index.php(96): Gui->Gui()
#7 {main} thrown in /var/www/_slim/_core/system/generator.001.php on line 133

我重新安装了redis-server但到目前为止没有运气。有什么建议吗?

4 个答案:

答案 0 :(得分:8)

也许不是具体问题的答案,但可能会帮助那些通过谷歌搜索异常来到这里的新人。

如果您创建Redis实例并开始在其上调用方法而不首先通过调用

连接到Redis服务器,您也会遇到此异常
$redis->connect('localhost')

如果Redis不是本地主机,配置为侦听其他端口,设置密码等,则显然应调整该调用的参数。

答案 1 :(得分:2)

嗯,正如异常所描述的那样,您的Redis服务器已关闭。 尝试以下内容: 1.查看运行Redis实例的服务器是否包含任何防火墙(iptables,也许?) 2.转到您的Web服务器(运行您的php)并尝试telnet到您的redis服务器 3.查看配置的主机/ IP是否正确。也许Redis服务器的网络设置中的某些内容已经更改。

答案 2 :(得分:1)

如果您在本地/ dev环境中运行,请确保Redis服务正在运行。

您可以通过打开Redis Client cmd来检查您的本地服务是否正在运行。如果您在MAC上打开命令行并键入redis-cli。

如果您的服务器正在运行,您应该看到:

  

redis 127.0.0.1:6379>

在我的情况下,我忘记启动Windows服务,所以我所要做的就是:打开services.msc,启动Redis Server服务。

答案 3 :(得分:0)

我在连接Redis时遇到问题

我设法通过将冒号更改为逗号来解决它

$redis->connect('localhost:6379');

从这里到这个

$redis->connect('localhost', 6379);