8

サーバーA(192.168.1.3)

mysql サーバー (5.6.12) ポート 6603、ソケット /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 サーバー (5.5.11) ポート 3306、ソケット /var/run/mysql/mysql.sock

サーバーAで使用する場合は作業です

$conn = new PDO('mysql:hostname=localhost;dbname=DB_TEST','username','password');

ただし、使用時にサーバーBに接続できません

$conn = new PDO('mysql:hostname=192.168.1.4;dbname=DB_TEST;port=3306','username','password');

ERROR:SQLSTATE[28000] [1045] ユーザー 'username'@'localhost' のアクセスが拒否されました (パスワードを使用: YES)

しかし、取り組む

$conn = mysql_connect('192.168.1.4:3306', 'username', 'password');
4

3 に答える 3

18
$conn = new PDO('mysql:hostname=192.168.1.4;dbname=DB_TEST;port=3306','username','password');

する必要があります

$conn = new PDO('mysql:host=192.168.1.4;dbname=DB_TEST;port=3306','username','password');

hostnameは無効であるためdsnPDOホストを無視してデフォルトを使用します。localhost

于 2013-07-13T13:53:33.820 に答える
3

リモート PDO mysql conex の問題は、db 文字列にあります。正しいステートメントは次のとおりです。

$conn = new PDO('mysql:host=192.168.1.4:3306;dbname=DB_TEST','username','password');
于 2016-12-10T12:26:54.033 に答える