php – SQLSTATE [HY000] [2003]无法连接到’XXX.XXX.XXX.XXX’上的MySQL服务器(60)

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – SQLSTATE [HY000] [2003]无法连接到’XXX.XXX.XXX.XXX’上的MySQL服务器(60)脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用远程数据库PHP下开发Web应用程序,其中我有以下测试脚本:

try {
    $dbh = new PDO('MysqL:host=XXX.XXX.XXX.XXX;dbname=db_app;',$user,$password);
    $date = ($dbh->query('SELECT Now()');
    PRint_r($date);   
} catch (PDOException $e) {
    print "Error!: " . $e->getMessage() . "<br/>";
    die();
}
exIT();

当我运行它时,我得到以下输出

我仍然可以使用MysqL工作台和命令行界面连接到目标数据库.

this question开始,我得知远程服务器配置“可能是”问题.但是,我们有一个“兄弟”PHP应用程序连接到同一台服务器没有问题,唯一的区别beetwen两个是用户名和密码,甚至当我的应用程序使用“兄弟”PHP应用程序凭据运行测试时,同样的错误显示.所以似乎只有我的PHP似乎有问题.

我正在PHP 5.5.3上运行测试,目标服务器正在运行MysqL 5.5
我的应用程序和Brother应用程序都在Staging Server A上运行,两者都应该连接到Staging Server B中的MysqL.Brother应用程序也是用PHP编写的,能够连接,但我的不是.我猜它可能是一个MysqL相关的PHP配置.

>我的应用程序使用PDO,而兄弟应用程序使用
MysqLi的.
>兄弟应用程序在与我的应用程序相同的服务器上运行,
并连接到同一目标服务器.

任何帮助,将不胜感激.

解决方法

对我来说,SELinux造成的问题是:

[root@server ~]# sestatus
SELinux status:                 enabled
SELinuxfs mount:                /selinux
current mode:                   enforcing
Mode From con@L_360_25@ file:          enforcing
policy version:                 24
Policy from config file:        targeted
[root@server ~]# setenforce 0
[root@server ~]# sestatus
SELinux status:                 enabled
SELinuxfs mount:                /selinux
Current mode:                   PErmissive
Mode from config file:          enforcing
Policy version:                 24
Policy from config file:        targeted

Run below as root:

setsebool -P httpd_can_network_connect = 1

脚本宝典总结

以上是脚本宝典为你收集整理的php – SQLSTATE [HY000] [2003]无法连接到’XXX.XXX.XXX.XXX’上的MySQL服务器(60)全部内容,希望文章能够帮你解决php – SQLSTATE [HY000] [2003]无法连接到’XXX.XXX.XXX.XXX’上的MySQL服务器(60)所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。