我有一个在我的服务器上运行的PHP应用程序及其MySQL数据库,该数据库包含安全密钥。
站点A远程连接到应用程序MySQL数据库以获取安全密钥,并且没有任何问题。 然而,站点B返回MySQL连接超时错误。
所以基本上一个外部服务器连接到数据库没有问题,但其他时间超出。它是两个服务器上完全相同的脚本,并且cPanel中列出了两个外部服务器。两个服务器在php.ini中设置的相同mysql连接超时值为60秒,站点B在大约5秒后返回超时错误。
知道可能导致这种情况的原因吗?
答案 0 :(得分:1)
默认情况下,cPanel不允许远程连接到db进行保护,
您应该在允许的远程连接列表中,在db网站cPanel中添加远程服务器IP,或者允许所有IP的连接(仅添加%
)
如果在服务器B上有CSF(ConfigServer安全和防火墙),则可能会阻止连接,那么您需要确认允许使用mysql端口3306
(您需要根级别,或者询问服务器管理员。)。
答案 1 :(得分:1)
阻止端口会导致超时。您可以通过以下命令重现它,而不是想要连接的服务器:
AH01797: client denied by server configuration: /var/www/myfolder/
查看响应数据。没有反应?阻止。
其次:确保服务器的ip被mysql列入白名单。
答案 2 :(得分:0)
如果您在服务器B上有Telnet访问权限,那么telnet到MySQL并查看是否可以获得响应。
同时检查站点B是否配置为使用与站点A相同的MySQL端口。您可能希望在脚本中明确指定它,因此将覆盖已配置的默认值。
Lion4H也提出了一些非常好的信息。很可能是防火墙问题。