I have weird situation in newly installed server, and it seems that Google can't help me this time.
I can't connect to (remote) mysql from my php-code. When I try to connect from command line on the same server the connection succseds.
Could not connect: Can't connect to
MySQL server on 'MYSQL.SERVER' (13)
Here is the code and the connect attempt from the command line
[u1@bosko httpdocs]$ cat test.php
<?
$link = mysql_connect('MYSQL.SERVER', 'testusersimon', '123456');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>
[u1@bosko httpdocs]$ mysql -h MYSQL.SERVER -utestusersimon --password=123456
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 352108
Server version: 5.0.45-community-nt-log MySQL Community Edition (GPL)
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
mysql> quit
Bye
I tried running the php script both in mod_php mode and in FastCGI,
check that "/etc/php.d/mysql.ini" shows up in the phpinfo() as well as mysql,mysqli and pdo_mysql sections.
but the result was the same, I know its something simple but I just can't .
Please help :)
Edit:
The problem was with SElinux
setsebool -P httpd_can_network_connect_db=1
Was the solution.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…