Home >php教程 >php手册 >CentOS下httpd下php 连接mysql 本机可以,127.0.0.1不能访问

CentOS下httpd下php 连接mysql 本机可以,127.0.0.1不能访问

WBOY
WBOYOriginal
2016-06-06 19:47:121183browse

你看到的这个文章来自于http://www.cnblogs.com/ayanmw php代码很简单: $server="127.0.0.1";println("Begin");$link = mysql_connect($server,"mysql","mysql");if (!$link) { die('Could not connect: ' . mysql_error().mysql_errno());} linux本机下使

你看到的这个文章来自于http://www.cnblogs.com/ayanmw

php代码很简单:

CentOS下httpd下php 连接mysql 本机可以,127.0.0.1不能访问

$server="127.0.0.1";
println("Begin");
$link = mysql_connect($server,"mysql","mysql");
if (!$link) {
    die('Could not connect: ' . mysql_error().mysql_errno());
}

CentOS下httpd下php 连接mysql 本机可以,127.0.0.1不能访问

linux本机下使用php mysql.php 可以查看运行结果,但是 在我的windows浏览器下报错:

Could not connect: Can't connect to MySQL server on '127.0.0.1' (13) 2003


原因:
#getsebool -a | grep httpd
[neo@neo phpMyTest]$ getsebool -a | grep httpd

发现 httpd_can_network_connect --> off
解决方案:
#setsebool httpd_can_network_connect 1

 

原来是 SELINUX,所以我一般直接关闭SELINUX和 iptables ip6tables

CentOS下httpd下php 连接mysql 本机可以,127.0.0.1不能访问

# 关闭SELINUX
chkconfig --level 12345 iptables off

chkconfig --level 12345 ip6tables off

service iptables stop

service ip6tables stop




查看SELinux状态:

1、/usr/sbin/sestatus -v      ##如果SELinux status参数为enabled即为开启状态

SELinux status:                 enabled

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

关闭SELinux:

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

setenforce 0                  ##设置SELinux 成为permissive模式

                              ##setenforce 1 设置SELinux 成为enforcing模式

2、修改配置文件需要重启机器:

修改/etc/selinux/config 文件

将SELINUX=enforcing改为SELINUX=disabled

CentOS下httpd下php 连接mysql 本机可以,127.0.0.1不能访问

 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn