首页 运维 网络学院 查看内容

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

2017-3-23 11:50 |来自: 互联网 5364 0

摘要: 今天在一台新的服务器上安装环境,装好后web服务器连接另一台服务器的数据库报Connection failed: SQLSTATE 1、命令行下可以连接远程数据库排除了远程服务器问题2、php pdo可以连接本地数据库,排除了php的pdo扩展问 ...

今天在一台新的服务器上安装环境,装好后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

重启机器即可

本文出处: http://www.toutiao.com/a6400233067060003073/
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部