尝试从 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 时对“权限被拒绝”进行故障排除的主要内容,如果未能解决你的问题,请参考以下文章

PHP脚本无法连接到MYSQL数据库

无法从 Express 连接到远程 Redis

无法从 docker 容器内的 Spring Boot 连接到 Redis

从 pod 连接到其他 pod

Bash脚本通过网页拍照

无法用php连接到mysql