redhat下php连接mysql,命令行下没有关问题,网页出错
程序员文章站
2022-04-18 21:50:50
...
redhat下php连接mysql,命令行下没问题,网页出错。
大家帮忙看下。我在AWS上搭建php apache mysql 环境。
想把php apache和mysql分离开来。
服务器A只装php 和apache。以及mysql客户端
服务器B只装mysql。
同样的代码在命令行下能执行成功,并能查询,插入数据操作。
但是网页下面出错,提示:
代码如下:
大家帮忙看下。是不是服务器A上必须安装mysql server版啊。
------解决方案--------------------
是不是限制了访问权限,只能本机访问?
------解决方案--------------------
A机器能否ping通B机器?
还有就是B机器是否允许远程连接?
------解决方案--------------------
phpinfo 里 mysql扩展正常开启了?
------解决方案--------------------
root帐号远程权限开了么?
------解决方案--------------------
把运程权限分配给a机器ip,例:
GRANT select,insert,update,delete ON *.* TO root@"172.16.16.152" IDENTIFIED BY "youpassword";
------解决方案--------------------
人家在A机器上使用php 命令行是没问题的,数据库在B机器上,所以不是远程或权限的问题。
貌似以前碰到过类似问题,与apache有关,不记得怎么解决的了。
------解决方案--------------------
解决方法1、:setsebool -P httpd_can_network_connect_db=1
解决方法2、:修改/etc/selinux/config SELINUX=enforcing 为 SELINUX=disabled
大家帮忙看下。我在AWS上搭建php apache mysql 环境。
想把php apache和mysql分离开来。
服务器A只装php 和apache。以及mysql客户端
服务器B只装mysql。
同样的代码在命令行下能执行成功,并能查询,插入数据操作。
但是网页下面出错,提示:
Can't connect to MySQL server on '192.168.9.9' (13)
代码如下:
//php phpinfo();
$link = mysql_connect("192.168.9.9","root","12345") or die("can't connect mysql".mysql_error());
mysql_select_db("wtest",$link) or die ('Can\'t use foo : ' . mysql_error());;
$resx = mysql_query("insert into west values(".rand(0,9999).")");
$res = mysql_query("show variables like 'socket'");
//$res = mysql_query("select * from west");
//echo mysql_result($res,1);
while($row=mysql_fetch_array($res)) {
// $return[] = $row;
echo $row[0]."
\n";
}
?>
大家帮忙看下。是不是服务器A上必须安装mysql server版啊。
------解决方案--------------------
是不是限制了访问权限,只能本机访问?
------解决方案--------------------
A机器能否ping通B机器?
还有就是B机器是否允许远程连接?
------解决方案--------------------
phpinfo 里 mysql扩展正常开启了?
------解决方案--------------------
root帐号远程权限开了么?
------解决方案--------------------
把运程权限分配给a机器ip,例:
GRANT select,insert,update,delete ON *.* TO root@"172.16.16.152" IDENTIFIED BY "youpassword";
------解决方案--------------------
人家在A机器上使用php 命令行是没问题的,数据库在B机器上,所以不是远程或权限的问题。
貌似以前碰到过类似问题,与apache有关,不记得怎么解决的了。
------解决方案--------------------
解决方法1、:setsebool -P httpd_can_network_connect_db=1
解决方法2、:修改/etc/selinux/config SELINUX=enforcing 为 SELINUX=disabled
相关文章
相关视频
上一篇: 求解,正则表达式好手
下一篇: php网易免费短地址接口