Nat*_*ate 183
您要禁用错误报告,还是仅阻止用户查看错误报告?记录错误通常是一个好主意,即使在生产站点上也是如此.
# in your PHP code:
ini_set('display_errors', '0'); # don't show any errors...
error_reporting(E_ALL | E_STRICT); # ...but do log them
Run Code Online (Sandbox Code Playgroud)
它们将记录到您的标准系统日志中,或使用该error_log指令准确指定您希望错误发生的位置.
Tyl*_*ter 90
没有错误.
error_reporting(0);
或者只是不严格
error_reporting(E_ALL ^ E_STRICT);
如果您想再次显示所有错误,请使用
error_reporting(-1);
Sta*_*arx 31
以上解决方案都是正确的.但是,当我们谈论一个普通的PHP应用程序时,它们必须包含在每个页面中,它需要它.解决这个问题的方法是通过.htaccessroot文件夹.只是为了隐藏错误.[在文件中放入以下一行]
php_flag display_errors off
Run Code Online (Sandbox Code Playgroud)
要么
php_value display_errors 0
Run Code Online (Sandbox Code Playgroud)
接下来,设置错误报告
php_value error_reporting 30719
Run Code Online (Sandbox Code Playgroud)
如果你想知道这个值30719是怎么来的,E_ALL(32767),E_STRICT(2048)实际上是常量,它保存数值和(32767 - 2048 = 30719)
小智 9
如果未在php.ini中设置,则error_reporting标志的默认值为E_ALL&~E_NOTICE.但在某些安装中(特别是针对开发环境的安装)有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);
}
Run Code Online (Sandbox Code Playgroud)
在php.ini中设置:
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
352253 次 |
| 最近记录: |