所以我现在正在进行一些测试,但似乎PHP / Apache甚至没有尝试建立外部MySQL连接。
我已经确认两台服务器之间存在MySQL连接,这样做确认MySQL正在运行,正在侦听内部端口,有权从Web服务器登录等等。
问题是Joomla和其他PHP脚本无法建立连接,并且通过TCPDump看起来甚至没有尝试与任何外部主机建立连接。除了云环境之外,我还尝试连接到专用服务器时对此进行了测试。
除了使用Joomla进行此操作之外,我还使用Wordpress进行了测试,以及仅使用没有CMS引擎(单个文件来测试连接)的典型PHP MySQL连接,这些都失败了。
我已经录制了一段视频供任何人真正看到该问题的实施。
https://www.youtube.com/watch?v=dwC2sNaSvvU
您可以在视频中看到我使用Web服务器在命令行连接使用" #mysql -h
然后,通过实际的Web服务器,PHP文件不会启动数据库连接,显然甚至不尝试。
所有防火墙都已禁用并关闭,目前已针对故障排除目的大开,但仍然失败。
我不确定我是否错过了一些东西,但这是一个正常的设置,并且由于某些原因似乎表现得很古怪。
答案:SELINUX阻止外出连接。禁用SELinux或通过SELinux启用远程连接
答案 0 :(得分:0)
如果您正在运行Linux并启用了SELinux(CentOS,Fedora,RHEL默认启用它),请查看:
https://serverfault.com/questions/240015/how-do-i-allow-mysql-connections-through-selinux