con*_*tan 8 php mysql pdo connect
服务器A(192.168.1.3)
mysql server(5.6.12)port 6603,socket /var/run/mysql/mysql.sock
php(5.5.0)php.ini pdo_mysql.default_socket = /var/run/mysql/mysql.sock
服务器B(192.168.1.4)
mysql server(5.5.11)port 3306,socket /var/run/mysql/mysql.sock
在服务器A中使用时工作
$conn = new PDO('mysql:hostname=localhost;dbname=DB_TEST','username','password');
Run Code Online (Sandbox Code Playgroud)
但使用时无法连接到服务器B.
$conn = new PDO('mysql:hostname=192.168.1.4;dbname=DB_TEST;port=3306','username','password');
Run Code Online (Sandbox Code Playgroud)
错误:SQLSTATE [28000] [1045]用户'用户名'@'localhost'拒绝访问(使用密码:YES)
但努力
$conn = mysql_connect('192.168.1.4:3306', 'username', 'password');
Run Code Online (Sandbox Code Playgroud)
ban*_*nsi 15
$conn = new PDO('mysql:hostname=192.168.1.4;dbname=DB_TEST;port=3306','username','password');
Run Code Online (Sandbox Code Playgroud)
应该
$conn = new PDO('mysql:host=192.168.1.4;dbname=DB_TEST;port=3306','username','password');
Run Code Online (Sandbox Code Playgroud)
hostname无效dsn,因此PDO忽略主机并使用默认值,即localhost