我需要在顶部设置我的PHP脚本,以禁用严格标准的错误报告。
有人可以帮忙吗?
答案 0 :(得分:182)
您要禁用错误报告,还是仅阻止用户看到它?即使在生产现场,记录错误通常也是一个好主意。
# in your PHP code:
ini_set('display_errors', '0'); # don't show any errors...
error_reporting(E_ALL | E_STRICT); # ...but do log them
它们将被记录到您的标准系统日志中,或使用error_log
指令准确指定您希望错误发生的位置。
答案 1 :(得分:90)
没有错误。
error_reporting(0);
或者只是不严格
error_reporting(E_ALL ^ E_STRICT);
如果您想再次显示所有错误,请使用
error_reporting(-1);
答案 2 :(得分:31)
以上所有解决方案都是正确的。但是,当我们谈论一个普通的PHP应用程序时,它们必须包含在每个页面中,它需要它。解决此问题的方法是通过根文件夹中的.htaccess
。
只是为了隐藏错误。 [将以下一行放在文件中]
php_flag display_errors off
或者
php_value display_errors 0
接下来,设置错误报告
php_value error_reporting 30719
如果您想知道值30719
是如何来的,E_ALL(32767),E_STRICT(2048)实际上是常数,它保存数值和(32767 - 2048 = 30719
)
答案 3 :(得分:9)
error_reporting 标志的默认值为 E_ALL& ~E_NOTICE 如果没有在php.ini中设置。 但在某些安装中(特别是针对开发环境的安装)有 E_ALL | E_STRICT 设置为此标志的值(这是在开发期间推荐的值)。在某些情况下,特别是当您想要运行一些开源项目时,这些项目是在PHP 5.3时代之前开发的,并且尚未使用PHP 5.3定义的最佳实践进行更新,在您的开发环境中,您可能会遇到一些问题。像你这样的消息。解决这种情况的最佳方法是在 php.ini 或其中设置 E_ALL 作为 error_reporting 标记的值代码(可能在前端控制器中,如web-root中的index.php,如下所示:
if(defined('E_STRICT')){
error_reporting(E_ALL);
}
答案 4 :(得分:8)
在php.ini中设置:
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT
答案 5 :(得分:4)
<强> WordPress的强>
如果您在wordpress环境中工作,Wordpress会在函数wp_debug_mode()
中的文件wp-includes / load.php中设置错误级别。因此,您必须在调用此函数后更改级别(在未检入git的文件中以便仅进行开发),或者直接修改error_reporting()
调用
答案 6 :(得分:2)
我没有看到一个干净且适合生产就绪软件的答案,所以在这里:
models.IntegerField(max, min, onInvalidInput)