我有一个奇怪的问题。我正在尝试在我的服务器上编写一个简单的php网页,但mysql_connect()不会连接到本地或其他任何服务器。这是奇怪的地方。如果我使用相同的PHP脚本并从命令行运行它,脚本可以工作。 phpinfo()表示文件(由apache运行)和命令行(以root身份运行)都调用相同版本的php,加载mysql,并且php.ini是相同的。
此外,我在同一台服务器上运行MediaWiki安装,并且它使用本地安装的mysqld并且运行正常,所以我完全不知道为什么代码不能正常工作。我在运行时收到的错误:
无法连接到'xxx.xxx.xxx.xxx'(13)
上的MySQL服务器
(对于我正在连接的服务器所有者的隐私,IP是x'd)
答案 0 :(得分:3)
您尝试连接的操作系统是什么?听起来这可能是一个SELinux问题。
使用SELinux,您通常可以使用
allow apache to make network connections/usr/sbin/setsebool httpd_can_network_connect 1
OR / usr / sbin / setsebool httpd_can_network_connect true
没有SELinux的操作系统可能具有类似的保护机制。
答案 1 :(得分:0)
ping
xxx.xxx.xxx.xxx。如果这不起作用,请检查两端的网络配置。mysql -h xxx.xxx.xxx.xxx -u user -p
如果无法连接,请跟踪原因:它可能是两端的SELinux问题(检查安全日志),或者{{}中可能存在别名{1}}?还要在mysql命令行上使用/etc/hosts
启用详细消息。