mysqli_connect到远程服务器

时间:2013-10-24 19:36:45

标签: php mysql

我正在尝试连接到远程服务器。我认为问题在于端口号,但是当我尝试错误报告时,我没有收到任何信息。

$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:吐出尽可能多的代码。

2 个答案:

答案 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