84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
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 放里面看看。要保证主文件是可编译通过的,再试试
<?php error_reporting(0);
PS:不是PHP没有执行是你写的代码没有执行。
在PHP代码的第一行就加上这句,可以屏蔽一些非关键的报错。 比如你的输入的这段代码,只是变量$system_path没有被定义。 PHP默认没有定义的变量会报错。
只要通过
<?php ini_set("error_reporting",E_ALL ^ E_NOTICE);
就可以屏蔽非关键的报错。 而一旦出现比这个更高级的错误,都属于会让整个PHP网站无法运行的关键错误。
屏蔽错误不利于自己Debug,慎用。
PHP不是一行一行去解析然后执行的,如果这样上下文根本无法绑定起来。是一个文件一个文件去解析的。像你这样一个文件没有解析成功,那么这整个文件的代码都无法执行的。 你可以放在 include 的文件里面将你的 sdfsdf 放里面看看。要保证主文件是可编译通过的,再试试
PS:不是PHP没有执行是你写的代码没有执行。
在PHP代码的第一行就加上这句,可以屏蔽一些非关键的报错。
比如你的输入的这段代码,只是变量$system_path没有被定义。
PHP默认没有定义的变量会报错。
只要通过
就可以屏蔽非关键的报错。
而一旦出现比这个更高级的错误,都属于会让整个PHP网站无法运行的关键错误。
屏蔽错误不利于自己Debug,慎用。