尝试从PHP脚本连接到Redis时排除"权限被拒绝"

lor*_*ier 18 php selinux redis

端口6379在服务器上打开,我可以telnet localhost 6379在SSH中成功运行.

我在PHP中尝试了两个Predis/phpredis客户端库,但它仍然不起作用:

  • 当打开套接字到6379时,Predis给出"权限被拒绝"错误.
  • phpredis给出了"redis服务器消失".

lor*_*ier 49

问题解决了,输入:

/usr/sbin/setsebool httpd_can_network_connect=1
Run Code Online (Sandbox Code Playgroud)

默认情况下,SELinux不允许Apache进行套接字连接.更多信息可以在这里找到.

  • 要在重新启动时保持配置,请使用`-P`标志:`setsebool -P httpd_can_network_connect 1` (5认同)
  • 这个设置是永久的吗?或者应该将其添加到启动初始化脚本中?或者etc文件? (2认同)