2015-07-01 32 views
0

我已經遷移的網站我們的託管服務,標準的Ubuntu的Plesk 11服務器......PHP站點將無法運行,停在梨DB連接,但沒有錯誤

該網站將無法運行,它停止在這一行,沒有記錄錯誤,或返回到屏幕。

$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線路更進一步,但沒有顯示任何錯誤?

+0

您是否在您的新託管上啓用了error_reporting功能? –

回答

1

嘗試添加你的 「如果塊」 內的這些線,找出錯誤原因:

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

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()。在/usr/share/php/MDB2.php在線1936年

所以我加入這個

$db->loadModule('Extended'); 

從這個問題Fatal error: Call to undefined function: MDB2_Driver_MYSQL::getAll()

,它似乎已連接。仍然不是那裏,但現在我在屏幕上有東西!謝謝大家。