我已经浏览了使用这些词语的其他人。不适用。我有两台机器插在同一台交换机上,IP为192.168.0.7和.10。 7是客户。 10是服务器。我已经检查了服务器上的netstat并显示:
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 192.168.0.10:3306 0.0.0.0:* LISTEN
我可以从任何一台机器向两个方向ping,sftp等。 PHP本身如下:
$host = "192.168.0.10";
$user = "web";
$pass = redacted;
$db = "appliance";
// open connection
$connection = new mysqli($host, $user, $pass, $db);
if ($connection->connect_errno) {
echo "Error: Failed to make a MySQL connection, here is why: \n";
echo "Errno: " . $connection->connect_errno . "\n";
echo "Error: " . $connection->connect_error . "\n";
exit;
}
我在浏览器(第3台机器 - 同一网络)上得到这个:
错误:无法建立MySQL连接,原因如下:Errno:2002 错误:无主机路由
我甚至尝试添加显式端口参数。同样的错误。 我甚至不知道在哪里看这一点。
答案 0 :(得分:0)
您可以在CLI和HTTP环境中执行此代码吗? 如果apache有问题,那么在cli中没有问题。
答案 1 :(得分:-1)
检查您与遥控器的连接并检查遥控器的防火墙。
并检查远程my.ini中的绑定地址
答案 2 :(得分:-1)
检查您的MySQL服务器上的防火墙是否阻止了端口3306。对我来说,这引起了“主机没有路由”错误。