Ошибка подключения к базе данных с информацией о пользователе и пароле - PullRequest
2 голосов
/ 13 июля 2011

У меня есть соединение с базой данных, и каждый раз, когда возникает проблема с подключением, я получаю эту ошибку.

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 показать эту информацию?Или это происходит потому, что я настроен на разработку вместо производства?

Ответы [ 2 ]

2 голосов
/ 13 июля 2011

Это комбинация обоих.В разработке вы показываете свои ошибки.Это основная причина, по которой вы это видите.

Однако вы можете catch исключение, протестировав соединение перед запросом.Позволяет обрабатывать собственные сбои подключения.

try {
    Zend_Db_Table::getDefaultAdapter()->getConnection();
} catch (Zend_Exception $e) {
    throw new Zend_Exception("A different error");
}
1 голос
/ 13 июля 2011

Это потому, что вы «разрабатываете» (исключения отображаются в браузере)

  • Решение 1: Использовать производственную среду;)
  • Решение 2. Изменение настроек в application.ini
  • Решение 3. Использование блока try / catch для подключения к базе данных
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...