zoukankan      html  css  js  c++  java
  • php连接redis报错

     $redis = new Redis();
      $ret = $redis->connect("127.0.0.1",6379);
      $redis->set("user","1");
      echo $redis->get("user");

    页面访问500,终端执行,发现是链接错误

    然后在用浏览器访问该文件的时候。会在$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

    https://blog.csdn.net/mrzhouxiaofei/article/details/79185487

  • 相关阅读:
    zoj 3279 线段树 OR 树状数组
    fzu 1962 树状数组 OR 线段树
    hdu 5057 块状链表
    hdu3487 Play with Chain
    bzoj 1588营业额统计(HNOI 2002)
    poj2823 Sliding Window
    poj2828 Buy Tickets
    poj2395 Out of Hay
    poj3667 Hotel
    poj1703 Lost Cows
  • 原文地址:https://www.cnblogs.com/yaradish/p/10487744.html
Copyright © 2011-2022 走看看