我正在连接Amazon RDS使用PHP来制作Web服务,但它不连接到服务器,这是我的代码
<?php
try{
$dbhost = 'myrds.cjahuqpumuov.us-east-1.rds.amazonaws.com:3306';
$username = 'myname';
$password = 'mypassword';
$dbname = 'mydb';
$link = mysql_connect($dbhost, $username, $password, $dbname);
mysql_select_db($dbname);
}
catch(Exception e){
echo e
}
?>
错误跟踪
Warning: mysql_connect() [function.mysql-connect]: Lost connection to MySQL server at 'reading initial communication packet', system error: 110 in /home/content/i/h/u/ihus235/html/cs/pah_brd_v1/productivo/selectTest.php on line 12
Warning: mysql_select_db() [function.mysql-select-db]: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) in /home/content/i/h/u/ihus235/html/cs/pah_brd_v1/productivo/selectTest.php on line 13
Warning: mysql_select_db() [function.mysql-select-db]: A link to the server could not be established in /home/content/i/h/u/ihus235/html/cs/pah_brd_v1/productivo/selectTest.php on line 13
我认为带有端口号码的主机名不允许您连接。
$dbhost = 'myrds.cjahuqpumuov.us-east-1.rds.amazonaws.com';
几天前我也面临着同样的问题。
<?php
try{
$dbhost = 'myrds.cjahuqpumuov.us-east-1.rds.amazonaws.com';
$username = 'myname';
$password = 'mypassword';
$dbname = 'mydb';
$link = mysql_connect($dbhost, $username, $password, $dbname, 3306);
mysql_select_db($dbname);
}
catch(Exception $e){
echo 'Caught exception: ', $e->getMessage(), "n";
}
?>
我也有类似的问题。对我来说,通过更改Selinux标志
解决了问题https://serverfault.com/questions/240015/how-do-i--wallow-mysql-connections-connections-though-selinux
我希望这对您也有帮助
dbhost = "hostname:port"; //default is 3306
$link = mysql_connect($dbhost, $username, $password);
您需要使用主机名传递端口号。