我有一个数据库的连接,每次连接有问题我都会收到此错误 .
致命错误:带有消息'SQLSTATE [HY000] [2003]的未捕获异常'PDOException'无法连接到/ data / 18/2/77/115 / 2566441 /中'205.178.146.104'(4)'上的MySQL服务器用户/ 2813515 / htdocs中/ ZendFramework-1.11.5 /库/ Zend的/ DB /适配器/ PDO / Abstract.php:129
堆栈跟踪:
#0 ... / ZendFramework-1.11.5 / library / Zend / Db / Adapter / Pdo / Abstract.php(129):PDO - > __ construct('mysql:dbname = si ...','xxx',' xxx',数组)
#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('DESCRIBEuser
',Array)
#4 ... / ZendFramework-1.11.5 / library / Zend / Db / Adapter / Pdo / Mysq in ... / ZendFramework-1.11.5 / library / Zend / Db / Adapter / Pdo / Abstract.php 144行
问题是数据库用户和密码在错误消息中的页面上可见 . 有没有办法阻止PHP显示该信息?或者这是因为我 Build 了一个开发而不是 生产环境 ?
2 回答
这是因为你正在“开发”(浏览器中显示例外)
解决方案1:使用 生产环境 环境;)
解决方案2:更改application.ini中的设置
解决方案3:使用try / catch块进行数据库连接
它是两者的结合 . 在开发过程中,您会显示错误 . 这是你看到的主要原因 .
但是,通过在查询之前测试连接,可以
catch
异常 . 允许您处理自己的连接故障 .