今天打算練習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教程有興趣的朋友有所幫助。