我无法使在我的代码的二次MySQL连接(到一个单独的外部DB)。它工作正常,在PHP 5.2.9,但无法在PHP 5.3.0连接。我所知道的(至少部分),使在PHP中的较新版本的MySQL成功连接所需,并更改之前已经成功,所以我不知道为什么它不工作这一次。

我已经有一个本地数据库DB连接打开。下面该函数被用来制造一个单独的,远程目录的附加连接。所包含的配置文件只包含外部数据库的详细信息(主机,用户,通过和名称)。我已经确认并正在正确包含它。

function connectDP() {
    global $dpConnection;

    include("secondary_db_config.php);
    $dpConnection = mysql_connect($dp_dbHost, $dp_dbUser, $dp_dbPass, true) or DIE("ERROR: Unable to connect to Deployment Platform");
    mysql_select_db($dp_dbName, $dpConnection) or DIE("ERROR 006: Unable to select Deployment Platform Database");
}

我然后尝试使这个新的连接只需通过从外部调用此函数:

connectDP();

但加载页面时(在5.3.0),I得到的消息:

ERROR: Unable to connect to Deployment Platform

我使用的是可选new_link旗布尔作为mysql_connect()函数的第四个参数,它仍然没有工作。

我已经今早令人头大我的大脑试图找出为什么这个连接无法正常工作(虽然我已经做了一些非常相似的其他地方,做工作的一个独立的第二个数据库)。任何帮助,将不胜感激。

谢谢!

有帮助吗?

解决方案

由于PHP 5.3默认使用其自己的MySQL驱动(mysqlnd),代替的libmysqlclient。根据平台无法读取你的MySQL的配置文件(如/etc/mysql/my.cnf)的默认设置。您需要编辑php.ini并指定使用的扩展(S)(MySQL和mysqli的,PDO)的默认值。例如在Debian中你需要在INI文件中指定的路径,插座(如/var/run/mysqld/mysqld.sock)自己。只要经过INI文件,并指定缺少的选项,它应该工作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top