分享

php pdo 连接数据库报2002错误解决

 shuer的藏宝库 2017-03-27
每日头条
6天前
2017-03-22
[ 文章导读 ] 今天在一台新的服务器上安装环境,装好后web服务器连接另一台服务器的数据库报Connection failed: SQLSTATE[HY000] [2002]1、命令行下可以连接远程数据库排除了远程服务器问题2、php pdo可以连接本地数据库,排除了php的pdo扩展问题最后查出原因是SELinux ...

今天在一台新的服务器上安装环境,装好后web服务器连接另一台服务器的数据库报Connection failed: SQLSTATE[HY000] [2002]

1、命令行下可以连接远程数据库排除了远程服务器问题

2、php pdo可以连接本地数据库,排除了php的pdo扩展问题

最后查出原因是SELinux的问题

修改如下:

setsebool -P httpd_can_network_connect_db=1

也可禁用selinux(不推荐)

selinux 介绍

SELinux 全称 Security Enhanced Linux (安全强化 Linux),是 MAC (Mandatory Access Control,强制访问控制系统)的一个实现,目的在于明确的指明某个进程可以访问哪些资源(文件、网络端口等)。

查看SELinux状态:

1、/usr/sbin/sestatus -v

SELinux status: enabled

2、getenforce #也可以用这个命令检查

关闭SELinux:

1、临时关闭(不用重启机器):

setenforce 0 #设置SELinux 成为permissive模式

#setenforce 1 设置SELinux 成为enforcing模式

2、永久生效:

修改/etc/selinux/config 文件

将SELINUX=enforcing改为SELINUX=disabled

重启机器即可

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多