我正在运行两个Ubuntu服务器(ubuntu-14.10-server- am 64)。在ESXI上的虚拟VMWARE测试环境中。
1 MYSQL服务器: 192.168.253.140
( A)我对服务器进行了配置,这样就可以为2台特定计算机配置2个用户,以便能够连接到特定的数据库。
用户' apache ',让apache服务器连接到mysql服务器:
create user 'apache'@'192.168.253.143' IDENTIFIED BY 'abc123';
grant ALL PRIVILEGES ON Modulus_Docker_IW.* TO 'apache'@'192.168.253.143' WITH GRANT OPTION;用户' pc ',让我自己的pc通过一个WAMP服务器(PHP)连接到远程mysql服务器。
create user 'pc'@'192.168.253.1' IDENTIFIED BY 'abc123';
grant ALL PRIVILEGES ON Modulus_Docker_IW.* TO 'pc'@'192.168.253.1' WITH GRANT OPTION;
FLUSH PRIVILEGES; FLUSH HOSTS;( B)我还配置了绑定/etc/ mysql /my.cnf,以便mysql服务器接受任何主机(不仅仅是本地主机)
bind-address = 0.0.0.02 APACHE服务器: 192.168.253.143
安装了Apache服务器,我将我的test php页面上传到服务器上。它是一个简单的页面,从mysqlserver上的数据库获取用户名和密码。
我在dreamweaver中与"pc“用户创建了一个连接,我可以撤回一些数据,用WAMP服务器处理PHP。
如果我将文件上传到远程Apache服务器,则会将连接字符串更改为apache用户,并希望得到最好的结果。但我刚收到一页白纸什么都没有..。。
在Apache2中是否有我必须做的事情,允许到mysqlserver的传出或传入连接?
PHPcode:
<?php
$username = "pc";
$password = "abc123";
$host="192.168.253.140";
$database="Modulus_Docker_IW";
$link = mysql_connect($host, $username, $password);
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_select_db ($database, $link);
$strSQL = "SELECT naam, paswoord FROM tblUsers ORDER BY naam ASC";
$result = mysql_query( $strSQL, $link );
mysql_close($link);
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>
<body>
<p>echo 'Connected successfully';<p>
<?php
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
echo "Naam :{$row['naam']} <br> ".
"--------------------------------<br>";
}
?>
</body>
</html>感谢你的评论。现在我从apache获得一些调试信息。
致命错误:在第7行调用/var/www/html/弹性模量/connectHand.php中未定义的函数mysql_connect()
好的,解决了:这个解决方案是在connect()上找到的
我没有在apache服务器上安装"sudo apache installphp5-mysql“。
谢谢你的快速反应。
发布于 2014-12-28 22:31:51
好的,解决了:这个解决方案是在PHP /Apache上找到的:PHP致命错误:调用未定义函数mysql_connect()
我没有在apache服务器上安装"sudo apache installphp5-mysql“。
谢谢你的快速反应。
发布于 2014-12-28 21:56:34
检查MySQL服务器上的iptables,以确保它没有阻塞连接。默认端口是TCP/3306。此外,检查MySQL配置以确保允许来自外部本地主机的连接。
发布于 2014-12-28 21:56:55
MySQL用户与Unix系统用户不一样。仅仅因为您在DB中创建了一个名为"apache"的用户,这并不意味着PHP程序用来连接到它的就是用户。如果您在这里向我们展示您的PHP代码会更好。
https://stackoverflow.com/questions/27680948
复制相似问题