设置:
两个单独的盒子:
我无法从Apache服务器连接到MySQL。
<?php
echo "<br>begin test<br>";
mysql_connect('hostname[FQDN]','username','password') or ("Error" . mysql_error());
echo "<br>end test<br>";
?>正在显示“开始测试”文本,但当Apache服务于页面时,不会出现MySQL错误或“结束测试”文本。
我能够从远程计算机使用端口3306上的MySQL工作台连接到MySQL DB。特权和对用户和IP地址的访问已完全开放(%),以避免在这些方面出现任何问题。
发布于 2011-07-29 16:23:01
这个问题已经解决了。我所做的更改是使用SElinux和运行setsebool -P httpd_can_network_connect=1或运行setenforce=0,这是允许的模式。
发布于 2011-07-28 21:09:34
不要忘记,mysql_connect、mysql_error等并不是PHP的一部分。它们是一个延伸。
如果您想测试php是否有这些函数,您可以做一些测试,比如:
if(!function_exists('mysql_connect'))
echo 'MySQL extension not installed';您应该在您的mysql盒上安装MySQL和mysql-server
您应该在Apache上安装php和php-mysql。如果您尚未安装php-mysql,请安装它:yum -y install php-mysql,然后重新启动Apache。
发布于 2011-07-28 21:08:17
跑
$ netstat -l您应该会看到mysql服务器监听端口3306。如果是127.0.0.1,服务器只监听回环接口。在这种情况下修复您的my.cnf。
https://serverfault.com/questions/295248
复制相似问题