Php站点不会运行,停止在Pear DB连接,但没有错误

时间:2015-07-01 07:29:57

标签: php mysql pear

我已经将网站迁移到我们的托管,标准的ubuntu Plesk 11服务器......

该网站不会运行,它会在此行停止,不会记录错误或返回到屏幕。

    $db=&DB::connect("mysql://$config[db_username]:$config[db_password]@$config[db_host]/$config[db_name]" );

配置数组填充了数据库的正确信息。接下来的几行代码是

if (PEAR::isError($db)) {
    print nl2br(var_export($db));
    die("Failed connecting to database");
}

该程序永远不会到达?所以我真的被卡住了。它有正确的信息,数据库在那里,但它似乎没有比DB :: connect线更多,但没有显示任何错误?

2 个答案:

答案 0 :(得分:1)

尝试在“if block”中添加这些行以找出错误原因:

echo 'Standard Message: ' . $db->getMessage() . "\n";
echo 'Standard Code: ' . $db->getCode() . "\n";

打印其他信息:

echo 'DBMS/User Message: ' . $db->getUserInfo() . "\n";
echo 'DBMS/Debug Message: ' . $db->getDebugInfo() . "\n";

请看这个链接:http://pear.php.net/manual/en/package.database.db.db-error.php

答案 1 :(得分:0)

以上也没有返回任何内容,但我确实发现DB已被MDB2取代,所以我更新了

require_once('/usr/share/php/MDB2.php');

$db =&  MDB2::factory("mysql://$config[db_username]:$config[db_password]@$config[db_host]/$config[db_name]" );

哪个确实给我一个错误,说PHP致命错误:调用未定义的函数:MDB2_Driver_mysql :: getAll()。在1936年的/usr/share/php/MDB2.php中

所以我添加了这个

$db->loadModule('Extended');

从这个问题Fatal error: Call to undefined function: MDB2_Driver_MYSQL::getAll()

它似乎有联系。仍然没有那么,但现在我在屏幕上有东西!谢谢大家。