SELinux导致无法访问外网,PHP连接MySQL异常Can't connect to MySQL server、redis程序访问提示Redis server went away的解决方法

今天上班遇到的问题,新配的Linux服务器,php、Apache和一系列扩展插件装好后,在本地好好的程序移上去就一直抱数据库连接错误,而用sql命令却能连接上去,

做了一个简单的判断数据库连接页面还是不行,证明不是程序问题,而是php的哪里问题了,就在网上查了大半天 有些方法都不合情况后面偶然发现SELinux这个东西

查了下这个有限制httpd对外访问的权限;具体如下

输入命令:getsebool -a|grep -i httpd

里面会有一个 httpd_can_network_connect --> off 的这个东东

off等于开启httpd对外访问的权限,要设为on就可以了

方法1:直接输入命令:setsebool -P httpd_can_network_connect=1,再命令:setenforce 0

方法2:vim /etc/sysconfig/selinux

里面有行 #SELINUX=enforcing 改为:SELINUX=disabled,再命令:setenforce 0

注:Linux中如出现在后台命令中可以执行,但远程程序使用总报错的一般是外网无法访问,大多就是SELINUX引起的。

上一篇:C#获取键盘和鼠标操作的时间的类


下一篇:SQL Server,MySQL,Oracle三者的区别