【问题标题】:PHP not displaying errors on live environment, shows blank screenPHP在实时环境中不显示错误,显示空白屏幕
【发布时间】:2012-12-01 04:32:19
【问题描述】:

我有 2 个环境,本地环境和实时环境

在本地我正在运行: 阿帕奇 php 5.2.9

在现场我正在跑步: nginx (fpm) php 5.3.5

我试过设置:

error_reporting(E_ALL);
ini_set('display_errors',1);

这允许两台服务器上的所有错误,但在我的实时服务器上我没有看到一些错误,例如:

require('test.php);  //missing single quote

给我一​​个空白屏幕,但在我的本地它给了我一个通知和致命错误(因为需要)

如果我尝试要求一个不存在的文件,我在两种环境中都会遇到致命错误。

我有权更改配置和错误报告,并且 display_errors 设置正确。

有什么想法吗?

【问题讨论】:

  • 仅供参考,在 PHP 中设置错误报告将不起作用,因为在执行该代码之前会引发解析错误。您需要更改 php.ini、.htaccess 或 user.ini...
  • 我认为这里真正的关键点是您应该有大部分解析器类型错误,例如在您推送到实时站点之前解决的关键缺失引用。或者甚至设置一个临时站点,所以它进入开发 -> 阶段 -> 生产,这将大大减少生产/实时版本的这些类型的严重错误,因为它已经在开发盒和临时盒上进行了测试。
  • 出于说明目的,我的措辞不正确,实际上是我的开发服务器没有显示解析错误

标签: linux nginx php


【解决方案1】:

那些错误的孩子很关键。而且它们的调试信息也很关键,并且可能容易受到攻击。

一些主机因此保留display_startup_errors off

【讨论】:

    猜你喜欢
    • 2015-10-03
    • 2011-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多