【发布时间】:2009-03-21 22:44:44
【问题描述】:
我在 Apache 上有一个 PHP 的开发版本。我将它转移到生产环境中,并在我的网站上收到了这个奇怪的通知。我在开发版上没有。如何在我的开发版网站上启用这些通知来修复它们?
【问题讨论】:
标签: php error-handling
我在 Apache 上有一个 PHP 的开发版本。我将它转移到生产环境中,并在我的网站上收到了这个奇怪的通知。我在开发版上没有。如何在我的开发版网站上启用这些通知来修复它们?
【问题讨论】:
标签: php error-handling
如果您可以访问您的 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 只能在开发环境中启用。
【讨论】:
将您的 php.ini 文件,即 error_reporting 行更改为 E_ALL。
即:
error_reporting = E_ALL
【讨论】:
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);
【讨论】: