php 设置error_reporting(0)和ini_set('display_errors', 0)之后,还是显示错误
2020-01-15 09:15
435 查看
php 5.4
apache 2.2
关闭错误报告和错误显示
依然会显示错误
按照我的理解,error_reporting(0)之后就应该不会显示错误了,这是怎么回事?
后来我又试着在php.ini者.htaccess中将display_errors设为off,才抑制了错误报告的显示。
而根据PHP手册中的描述
display_errors指令是属于 PHP_INI_ALL 因而就可以在任何地方被设定,包括ini_set() 。
这又是怎么回事?
回复内容:
php 5.4
apache 2.2
关闭错误报告和错误显示
依然会显示错误
按照我的理解,error_reporting(0)之后就应该不会显示错误了,这是怎么回事?
后来我又试着在php.ini者.htaccess中将display_errors设为off,才抑制了错误报告的显示。
而根据PHP手册中的描述
display_errors指令是属于 PHP_INI_ALL 因而就可以在任何地方被设定,包括ini_set() 。
这又是怎么回事?
PHP不是一行一行去解析然后执行的,如果这样上下文根本无法绑定起来。是一个文件一个文件去解析的。像你这样一个文件没有解析成功,那么这整个文件的代码都无法执行的。 你可以放在 include 的文件里面将你的 sdfsdf 放里面看看。要保证主文件是可编译通过的,再试试
1 2 3 |
<code class = "lang-php" ><!--?php error_reporting (0); </code--></code> |
PS:不是PHP没有执行是你写的代码没有执行。
在PHP代码的第一行就加上这句,可以屏蔽一些非关键的报错。
比如你的输入的这段代码,只是变量$system_path没有被定义。
PHP默认没有定义的变量会报错。
只要通过
1 2 3 |
class = "lang-PHP" ><!--?php
( "error_reporting" ,E_ALL ^ E_NOTICE);
|
就可以屏蔽非关键的报错。
而一旦出现比这个更高级的错误,都属于会让整个PHP网站无法运行的关键错误。
屏蔽错误不利于自己Debug,慎用。
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 关于PHP线上错误日志控制(error_reporting和display_errors)
- ini_set("display_errors","On");和error_reporting(E_ALL);
- 设置了error_reporting(E_ALL)还是不显示错误
- PHP.ini 设置PHP错误信息(errors)的屏蔽和显示
- ini_set("display_errors","On");和error_reporting(E_ALL);
- php.ini error_reporting设置,错误等级。
- ini_set("display_errors","On");和error_reporting(E_ALL);
- PHP错误信息(errors)的屏蔽和显示-设置PHP.ini
- PHP通过ini_set()来设置显示错误信息和执行时间
- error_reporting(“E_ALL”)和ini_set(“display_errors”, “on”)的区别?
- php.ini中display_startup_errors=on显示的都是什么错误【500】?
- ini_set("display_errors","On");和error_reporting(E_ALL);
- 三,PHP中错误日志display_errors与error_reporting配置
- php display_errors和error_reporting的赋值方法
- PHP中如何设置error_reporting错误报告级别
- PHP中如何设置error_reporting错误报告级别
- PHP中如何设置error_reporting错误报告级别
- 关于PHP.INI中的错误ERROR报告级别设置
- php display_errors和error_reporting的赋值方法
- php中设置错误报告级别error_reporting()