我正在尝试连接到远程服务器。我认为问题在于端口号,但是当我尝试错误报告时,我没有收到任何信息。
$db_host = 'MY.IP.ADD.RESS:3306';
$db_user = 'user';
$db_pass = 'password';
$db_database = 'database';
$link = mysqli_connect($db_host,$db_user,$db_pass,$db_database) or die('Unable to establish a NHT_DB connection');
if (!$link) {
die('Connect Error: ' . mysqli_connect_error());
}
else {
echo 'Success... ' . mysqli_get_host_info($link) . "\n";
}
首先,我不是100%确信这是正确的端口。如何找出mysql设置使用的端口?
其次,mysqli_connect_error()
没有给我任何东西。没有数字,代码,没有。测试页面只会向Connect Error:
吐出尽可能多的代码。
答案 0 :(得分:8)
解决方案是在mysqli_connect函数中添加一个端口参数。
$db_host = 'MY.IP.ADD.RESS';
$db_user = 'user';
$db_pass = 'password';
$db_database = 'database';
$db_port = '3306';
$link = mysqli_connect($db_host,$db_user,$db_pass,$db_database,$db_port);
答案 1 :(得分:2)
如果可以使用mysql cli客户端进行连接:
mysql -u db_user -h db_host -p -P 3306 db_name
然后,这意味着httpd进程没有建立外部网络连接的权限。您可以通过以下方式启用此功能:
sudo setsebool -P httpd_can_network_connect 1