【问题标题】:Is it possible to hide/not display a parse error?是否可以隐藏/不显示解析错误?
【发布时间】:2017-10-12 09:17:23
【问题描述】:

php 是否可以不在网页上显示“解析”错误(更像是在生产环境中隐藏所有错误,包括解析错误)?

error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 0);
ini_set('log_errors', 1);
ini_set('log_errors_max_len', 0);

我尝试了上述设置,但无法隐藏解析错误。

我触发的解析错误示例

if (TRUE) {
  echo 'fail';

【问题讨论】:

  • 在语法上甚至没有有效的代码,因此显然从未被执行过,它是如何首先投入生产的?除了简单地停止 [出现错误] 之外,您希望 PHP 对明显无效的代码做什么?
  • 由于显而易见的原因,您无法隐藏或避免解析错误,另一方面,您可以做的是在includeing 之前同步检查文件。 php.net/manual/en/function.runkit-lint-file.php
  • @Calimero,谢谢你...... deceze,不是这样......

标签: php error-handling syntax-error


【解决方案1】:

在您的 php.ini 文件中设置 display_errors = Off。这是可靠地做到这一点的唯一方法,并且无论如何都应该是任何生产环境中的默认方法。

使用ini_set('display_errors', 0) 不起作用,因为它是在运行时执行的,解析之后。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-20
    • 1970-01-01
    • 1970-01-01
    • 2017-08-02
    • 1970-01-01
    • 2010-10-30
    • 2013-11-09
    相关资源
    最近更新 更多