做了一个测试脚本:PDO无法连接到MySQL,但CLI可以
<?php
$a = new PDO('mysql:dbname=mydbname;host=mydbhost:3306', 'myusername', 'mypassword');
var_dump($a);
我收到以下错误:通过CLI
PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2005] Unknown MySQL server host 'mydbhost:3306' (107)' in /users/pvarney/test_pdo.php:3 Stack trace:
#0 /users/pvarney/test_pdo.php(3): PDO->__construct('mysql:dbname=my...', 'myusername', 'mypassword')
#1 {main} thrown in /users/pvarney/test_pdo.php on line 3
然后:
[[email protected] ~]$ mysql mydbname -h mydbhost -u myusername -p --port=3306
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 828511
... snip mysql welcome text ...
mysql>
我已经更改了连接字符串以屏蔽连接信息,但是我将它复制粘贴到CLI中以确保我没有任何拼写错误。
'host = mydbhost; port = 3306' – hjpotter92 2014-09-12 12:53:13
你可以试试这个吗? ''''新的PDO('mysql:host = mydbhost; port = 3306; dbname = mydbname','myusername','mypassword');'''' – 2014-09-12 12:53:55
谢谢大家。奇怪的是,我的连接字符串在5.4中工作,但不是5.3。 – 2014-09-12 14:50:31