今天打算练习redis操作,在命令行下运行发现连接畅通无阻。
后来用apache运行,发现连接不了redis客户端(redis server went away).
通过在reids服务器端抓包,发现使用apache的时候根本没收到连接请求。
可以知道是apache这边除了问题。
命令行下可以,apache下不行,我首先想到的是会不会是apache配置文件限制了某个端口,结果也没找到。
最后在stackoverflow找到了答案----是selinux限制了apache所能打开的端口(更具体地说是http服务所能打开的端口)。
解决方法
/usr/sbin/setsebool httpd_can_network_connect=1
或者
以后提个醒,除了防火墙能阻止你,selinux也能阻止你,不要忘记了。
以上就介绍了apache下PHP无法打开其他socket (permission denied)问题解决,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。