CentOS下php使用127.0.0.1不能连接mysql的解决方法
php代码很简单:
$server="127.0.0.1"; println("Begin"); $link=mysql_connect($server,"mysql","mysql"); if(!$link){ die('Couldnotconnect:'.mysql_error().mysql_errno()); }
linux本机下使用phpmysql.php可以查看运行结果,但是在我的windows浏览器下报错:
Couldnotconnect:Can'tconnecttoMySQLserveron'127.0.0.1'(13)2003
原因:
#getsebool-a|grephttpd [neo@neophpMyTest]$getsebool-a|grephttpd
发现httpd_can_network_connect-->off
解决方案:
#setseboolhttpd_can_network_connect1
原来是SELINUX,所以我一般直接关闭SELINUX和iptablesip6tables
#关闭SELINUX chkconfig--level12345iptablesoff
chkconfig--level12345ip6tablesoff
serviceiptablesstop
serviceip6tablesstop
查看SELinux状态:
1、/usr/sbin/sestatus-v ##如果SELinuxstatus参数为enabled即为开启状态
SELinuxstatus: enabled
2、getenforce ##也可以用这个命令检查
关闭SELinux:
1、临时关闭(不用重启机器):
setenforce0 ##设置SELinux成为permissive模式
##setenforce1设置SELinux成为enforcing模式
2、修改配置文件需要重启机器:
修改/etc/selinux/config文件
将SELINUX=enforcing改为SELINUX=disabled