php - 如何显示 Zend 框架抛出的异常错误?

标签 php exception error-handling zend-framework

我正在使用 Zend 框架,只是讨厌这样一个事实:我似乎遇到了数百个异常错误,例如,如果我尝试引用一个对象的不存在的属性,我的应用程序就会死机并崩溃。但是我不知道在哪里可以看到这些错误或如何在屏幕上显示它们。我已将显示错误设置为 true 并向 E_ALL 报告错误,但是当抛出错误时,我所看到的只是一个空白页面,它只呈现到明显发生错误或抛出异常之前的一点。

最佳答案

APPLICATION_ENV 环境变量的值是多少。

ZF 应用程序中的标准 public/index.php 执行以下操作:

// Define application environment
defined('APPLICATION_ENV')
    || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));

这意味着如果没有设置 APPLICATION_ENV,环境将设置为“生产”。如果查看 application.ini 文件,您会发现如果环境是生产环境,框架会抑制错误。

当然,您正在开发,所以您想使用“开发”环境。

如果您在 Apache/mod_php 下运行,您可以在 httpd.conf 或 .htaccess 文件中进行设置:

SetEnv APPLICATION_ENV development

或者你总是可以变得丑陋并破解你的 public/index.php:

// Define application environment

/*defined('APPLICATION_ENV')
    || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));*/

// Ugly hack because I'm too lazy to properly set up my environment.
define('APPLICATION_ENV','development');

关于php - 如何显示 Zend 框架抛出的异常错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2753109/

相关文章:

php - 替换特定标签内的字符串

PHP session 数据未保存

php - 写入文件的输入可以被恶意篡改吗?

java - 在 Java 中处理异常 - 如何给用户另一次机会?

perl - 我正在尝试为 perl 中的错误消息的占位符创建一个模板。有什么建议么?

javascript - jQuery 无法提交使用 jQuery 加载的表单

java - 帮我修复这个线程示例中的错误

java - 为什么我在解析 xml 文件时遇到 fatal error ?

android - 在 SQLite DatabaseErrorHandler 中需要做什么

python - HTTPSConnectionPool SSL错误证书验证失败