php连接redis出现Redis server went away
2014-04-08 10:37
1166 查看
出现这个问题的描述:
phpredis的版本是:phpredis-2.2.4.zip
redis的版本是:redis-2.8.6.tar.gz
linux的版本是:Linux 2.6.32-71.el6.i686 i686(centos)
安装好redis和phpredis拓展后。就运行下面程序
然后在用浏览器访问该文件的时候。会在$redis->connect();这一步报错,就是redis服务器没有连接上。但奇怪的是,linux里面redis-cli的操作都是正常的。使用phpinfo();函数也可以看到phpredis的拓展已经装上。开始以为是phpredis和redis的版本不对应。但是自己已经使用同一版本的在另外一台centos中安装成功。还有,在linux命令行中使用php redis.php是可以运行出结果的。这说明php的拓展phpredis是没有问题的,是可以连上redis服务器了。我意识到应该是在apache服务器出现了问题。但检查了apache的配置文件httpd.conf也没有发现问题。接下来,就想配置一个apache虚拟主机试一下。在配置虚拟主机的时候出现一个 DocumentRoot
does not exist错误。在我的遭遇中,是因为selinux的安全机制才导致这个错误。当我解决掉这个错误,运行起服务器的时候,这个redis.php在浏览器就可以正常运行了。所以,出现Redis server went away 的原因就找到了。selinux。解决方案是:
phpredis的版本是:phpredis-2.2.4.zip
redis的版本是:redis-2.8.6.tar.gz
linux的版本是:Linux 2.6.32-71.el6.i686 i686(centos)
安装好redis和phpredis拓展后。就运行下面程序
<?php ini_set('default_socket_timeout', -1); $redis = new Redis(); $ret = $redis->connect("127.0.0.1",6379); $redis->set("user","xuwenqiang"); echo $redis->get("user");
然后在用浏览器访问该文件的时候。会在$redis->connect();这一步报错,就是redis服务器没有连接上。但奇怪的是,linux里面redis-cli的操作都是正常的。使用phpinfo();函数也可以看到phpredis的拓展已经装上。开始以为是phpredis和redis的版本不对应。但是自己已经使用同一版本的在另外一台centos中安装成功。还有,在linux命令行中使用php redis.php是可以运行出结果的。这说明php的拓展phpredis是没有问题的,是可以连上redis服务器了。我意识到应该是在apache服务器出现了问题。但检查了apache的配置文件httpd.conf也没有发现问题。接下来,就想配置一个apache虚拟主机试一下。在配置虚拟主机的时候出现一个 DocumentRoot
does not exist错误。在我的遭遇中,是因为selinux的安全机制才导致这个错误。当我解决掉这个错误,运行起服务器的时候,这个redis.php在浏览器就可以正常运行了。所以,出现Redis server went away 的原因就找到了。selinux。解决方案是:
/usr/bin/setenforce 是用来修改SELinux的实时运行模式的 临时打开: setenforce 1 ----设置SELinux 成为enforcing模式 临时关闭: setenforce 0 ----设置SELinux 成为permissive模式 如果要彻底禁用SELinux 需要在/etc/sysconfig/selinux中设置参数selinux=0 ,或者在/etc/grub.conf中添加这个参数 /usr/bin/setstatus -v找了一下为什么selinux会影响到redis的访问的原因。发现是selinux访问控制的原因。详情可参考selinux入门
相关文章推荐
- php连接redis服务出现Redis server went away
- php连接redis出现Redis server went away
- 连接Redis报错 PHP Fatal error: Uncaught RedisException: Redis server went away in XXX
- SELinux导致无法访问外网,PHP连接MySQL异常Can't connect to MySQL server、redis程序访问提示Redis server went away的解决方法
- CentOS+Apache+php无法访问redis的解决方法 Redis server went away
- Redis连接执行auth报错 redis server went away
- redis server went away
- 常驻内存的PHP程序报redis server has gone away
- Fatal error: Uncaught exception 'RedisException' with message 'Redis server went away'
- Redis server went away
- Redis server went away与selinux
- Redis server went away的解决方案
- PHP oci8连接oracle数据库出现"ORA-24408: could not generate unique server group name"的解决办法
- redis Uncaught exception RedisException: Redis server went away
- redis远程连接后,输入命令出现Error:Server closed the connection
- amoeba连接mysql--ERROR 2006 (HY000): MySQL server has gone away
- 使用SQL Server Driver for PHP解决PHP连接MSSQL乱码的问题
- sql-server连接服务器时出现与网络相关或特定实例的错误
- CentOS 下使用PHP连接redis
- redis(三)--Java代码-telnet可以连接成功但是出现Connect timeout问题-解决方案