您的位置:首页 > 数据库 > Redis

phpredis---pub/sub订阅超时

2015-07-24 10:40 671 查看
class Welcome
{
//订阅
public function subscribe()
{
$redis = new Redis();
$redis->connect('127.0.0.1',6379);
function f($redis, $channel, $message)
{
switch ($channel) {
case 'channel1':
echo $message;

break;
}
die;
}
//用下面这行设置的时候没有起作用
// ini_set('default_socket_timeout', '-1');

$redis->subscribe(array('channel1'), 'f');
}

//发布
public function publish()
{
$redis = new Redis();
$redis->connect('127.0.0.1',6379);
$redis = $this->libraryredis->instance();
$redis->publish('channel1', 'hello');
}
}


当订阅的时候即:

$welcome = new Welcome();
$welcome->subscribe();


报错:

Fatal error: Uncaught exception 'RedisException' with message 'read error on connection'


解决方法:

修改php.ini参数

default_socket_timeout -1


修改这个参数后 命令行 下运行 不会 超时,

但是浏览器运行会报504 gateway time-timeout

这是nginx 响应超时

这时需要设置nginx.conf参数

#这个值以秒为单位,必须大于或者等于0,值越大超时间隔越长
fastcgi_send_timeout 300;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: