【问题标题】:How to enable notices on my development server如何在我的开发服务器上启用通知
【发布时间】:2009-03-21 22:44:44
【问题描述】:

我在 Apache 上有一个 PHP 的开发版本。我将它转移到生产环境中,并在我的网站上收到了这个奇怪的通知。我在开发版上没有。如何在我的开发版网站上启用这些通知来修复它们?

【问题讨论】:

    标签: php error-handling


    【解决方案1】:

    如果您可以访问您的 php.ini,那么 Björn 的答案就是您要走的路。

    但是,如果您不这样做,或者如果您想更改特定脚本/项目的错误级别,请在代码开头执行此操作:

    ini_set('display_errors', 1);
    
    // Enable error reporting for NOTICES
    error_reporting(E_NOTICE);
    

    您可以在此处查看哪些级别可用于错误报告:http://us2.php.net/manual/en/function.error-reporting.php

    最好不要在生产环境中显示任何错误,而是记录任何奇怪的行为并通过邮件发送给管理员。 NOTICES 只能在开发环境中启用。

    【讨论】:

    • 好点。但是在开发服务器上,您应该显示所有通知、警告和错误 - 所以我建议使用 error_reporting(E_ALL); (相当于error_reporting(6143);)。
    • 当然。用于开发的 E_ALL 是最佳选择。
    【解决方案2】:

    将您的 php.ini 文件,即 error_reporting 行更改为 E_ALL。

    即:

    error_reporting = E_ALL
    

    【讨论】:

    • 如果你不能调整你的 php.ini,那么看看下面我的回答。
    【解决方案3】:

    Seb 是对的,尽管您确实应该为 error_reporting() 使用常量。

    error_reporting(E_NOTICE);
    

    您可以使用按位运算来准确选择要显示的消息。例如:

    // notices and warnings
    error_reporting(E_NOTICE | E_WARNING);
    
    // everything except errors
    error_reporting(E_ALL ^ E_ERROR);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-23
      • 1970-01-01
      相关资源
      最近更新 更多