0

我无法在我的代码中建立辅助 MySQL 连接(到单独的外部数据库)。它在 PHP 5.2.9 中运行良好,但在 PHP 5.3.0 中无法连接。我知道(至少有一些)在较新版本的 PHP 中建立成功的 MySQL 连接所需的更改,并且之前已经成功,所以我不确定为什么这次它不起作用。

我已经有一个到本地数据库的数据库连接。然后使用下面的这个函数来建立到一个单独的远程目录的附加连接。包含的配置文件仅包含外部数据库详细信息(主机、用户、密码和名称)。我已经检查并正确包含它。

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 中),我收到消息:

ERROR: Unable to connect to Deployment Platform

我使用可选的new_link布尔标志作为函数中的第四个参数,mysql_connect()但它仍然不起作用。

今天早上我一直在绞尽脑汁想弄清楚为什么这个连接不起作用(虽然我在其他地方做了一些非常类似于另一个可以工作的单独的第二个数据库的事情)。任何帮助,将不胜感激。

谢谢!

富有的

4

1 回答 1

0

从 PHP 5.3 开始,它默认使用自己的 MySQL 驱动程序 (mysqlnd),而不是 libmysqlclient。根据平台,它无法从 MySQL 的配置文件中读取默认值(例如。/etc/mysql/my.cnf)。您需要编辑php.ini并指定您使用的扩展(mysql、mysqli、pdo)的默认值。例如,在 Debian 中,您需要/var/run/mysqld/mysqld.sock在 INI 文件中自己指定套接字的路径(例如 )。只需浏览 INI 文件并指定缺少的选项,它应该可以工作。

于 2010-05-12T08:05:06.913 回答