尝试从 PHP 脚本连接到 Redis 时对“权限被拒绝”进行故障排除
Posted
技术标签:
【中文标题】尝试从 PHP 脚本连接到 Redis 时对“权限被拒绝”进行故障排除【英文标题】:Troubleshooting "Permission denied" when attempting to connect to Redis from PHP script 【发布时间】:2012-02-04 15:43:53 【问题描述】:服务器上6379端口是开放的,我可以在SSH中成功运行telnet localhost 6379
。
我在 php 中尝试了 Predis/phpredis 客户端库,但仍然无法正常工作:
当打开 6379 的套接字时,Predis 出现“权限被拒绝”错误。 phpredis 给出“redis 服务器消失”。【问题讨论】:
【参考方案1】:问题已解决,输入:
/usr/sbin/setsebool httpd_can_network_connect=1
默认情况下,SELinux 不允许 Apache 建立套接字连接。更多信息可以在here找到。
【讨论】:
这个设置是永久的吗?还是应该将其添加到引导初始化脚本中?还是等文件? 非常感谢这个问题的答案。节省时间!它可能会解决我在尝试运行也尝试打开端口的 c++ 可执行文件时遇到的另一个错误。 我尝试使用 python redis 客户端并遇到了这个问题,它节省了几个小时!! 要在重新启动后保留配置,请使用-P
标志:setsebool -P httpd_can_network_connect 1
为我节省了很多时间。谢谢!以上是关于尝试从 PHP 脚本连接到 Redis 时对“权限被拒绝”进行故障排除的主要内容,如果未能解决你的问题,请参考以下文章