连接到不同的机器, '无法通过套接字连接' 错误
问题描述:
我试图连接到不同的机器:连接到不同的机器, '无法通过套接字连接' 错误
$this->_connection = new PDO("mysql: host=MYSQL_SERVER; dbname=MYSQL_DATABASE",MYSQL_USER, MYSQL_PASSWORD, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
但PDO barfs:
SQLSTATE [HY000] [ 2002]无法通过套接字“/var/lib/mysql/mysql.sock”(2)
连接到本地MySQL服务器僵硬,这工作得很好与本地主机我的dev的服务器上 - 我们的产品设置是LVS与单独的数据库服务器,但我似乎无法得到PDO连接到它!
哪里有我在这里捣乱了什么?
编辑:
这工作:
mysql_connect(MYSQL_SERVER, MYSQL_USER, MYSQL_PASSWORD) or die(mysql_error());
mysql_select_db(MYSQL_DATABASE) or die(mysql_error());;
echo 'Connected to database <br/>';
注意:MYSQL_SERVER
是不本地主机,它是我们的主数据库服务器的IP。在我们的dev服务器上,托管dev数据库的PDO完美地工作。
答
这很简单。你的DSN有缺陷。
使用此:
$this->_connection = new PDO("mysql:host=EXTERNAL_IP;dbname=DB", USERNAME, PASSWORD, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
试试吧,报到。
请原谅我,如果我是密集的,但我不明白这是什么与我在我的问题中发布的 – 2010-09-03 01:08:32
我相信后的空间;意义重大。 – 2010-09-03 01:13:27
哇。非常感谢 - 在过去的48周里我已经睡了大约2个小时,你不知道我有多么欣赏这样一个简单的解决方案。 :):D – 2010-09-03 01:20:45