首页 文章

错误数据库与用户和密码信息的连接

提问于
浏览
2

我有一个数据库的连接,每次连接有问题我都会收到此错误 .

致命错误:带有消息'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

    这是因为你正在“开发”(浏览器中显示例外)

    • 解决方案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");
    }
    

相关问题