2011-07-13 143 views
2

錯誤數據庫連接我有數據的基礎上,每有連接我得到這個錯誤問題的時候連接。用用戶名和密碼信息

 
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2003] Can't connect to MySQL server on '205.178.146.104' (4)' in /data/18/2/77/115/2566441/user/2813515/htdocs/ZendFramework-1.11.5/library/Zend/Db/Adapter/Pdo/Abstract.php:129 
Stack trace: 
#0 .../ZendFramework-1.11.5/library/Zend/Db/Adapter/Pdo/Abstract.php(129): PDO->__construct('mysql:dbname=si...', 'xxx', 'xxx', Array) 
#1 .../ZendFramework-1.11.5/library/Zend/Db/Adapter/Pdo/Mysql.php(96): Zend_Db_Adapter_Pdo_Abstract->_connect() 
#2 .../ZendFramework-1.11.5/library/Zend/Db/Adapter/Abstract.php(459): Zend_Db_Adapter_Pdo_Mysql->_connect() 
#3 .../ZendFramework-1.11.5/library/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('DESCRIBE `user`', Array) 
#4 .../ZendFramework-1.11.5/library/Zend/Db/Adapter/Pdo/Mysq in .../ZendFramework-1.11.5/library/Zend/Db/Adapter/Pdo/Abstract.php on line 144 

的事情是,數據庫用戶和密碼是錯誤消息的頁面上可見。有沒有辦法阻止PHP顯示該信息?或者這是因爲我設置了一個開發而不是生產?

回答

1

這是因爲你在 「發展中」(例外顯示瀏覽器)

  • 解決方法1:使用生產環境;)
  • 解決方法2:在的application.ini
  • 解決方案更改設置3:使用try/catch塊進行數據庫連接
2

它是兩者的組合。在開發中,你顯示你的錯誤。這是你看到這個的主要原因。

但是,您可以通過測試查詢之前的連接catch例外。允許您處理自己的連接失敗。

try { 
    Zend_Db_Table::getDefaultAdapter()->getConnection(); 
} catch (Zend_Exception $e) { 
    throw new Zend_Exception("A different error"); 
}