我有一个像这样的页面:
error_reporting(-1);
require('test.txt');
我知道test.txt不存在。我想尝试 error_reporting()功能。 在这种情况下,我们传递数字 -1 以正确报告所有错误,如下所示:
Warning: require(test.txt) [function.require]: failed to open stream: No such file or directory in C:\wamp\www\PHP_Class\session_5\errors.php on line 11
Fatal error: require() [function.require]: Failed opening required 'test.txt' (include_path='.;C:\php\pear') in C:\wamp\www\PHP_Class\session_5\errors.php on line 11
当我们将数字 2 传递给函数,例如error_reporting(2)时,只报告了E_WARNING错误,这也是正确的:
Warning: require(test.txt) [function.require]: failed to open stream: No such file or directory in C:\wamp\www\PHP_Class\session_5\errors.php on line 11
但是,如果我将数字 1 传递给 error_reporting(1)仅用于报告E_ERROR错误,则不会显示错误。 有什么问题?请告诉我
答案 0 :(得分:4)
我认为require不会抛出E_ERROR
而是E_COMPILE_ERROR
所以请使用error_reporting(E_COMPILE_ERROR);
答案 1 :(得分:3)
这个怎么样
error_reporting (E_ALL & ~E_WARNING & ~E_NOTICE & ~E_DEPRECATED) ;
这应该可以为您提供所需的所有错误
<强>更新强>
chk this url
http://www.php.net/manual/en/function.require.php
它说
除了失败之外,它还会产生致命的伤害 E_COMPILE_ERROR级别错误。
所以这段代码总是会给出编译错误.... 以上配置最适合您的生产环境。
答案 2 :(得分:2)
试试这个
error_reporting(64);
require('test.txt');
答案 3 :(得分:1)
如果要抑制错误
,这是正确的方法error_reporting(E_COMPILE_ERROR );
require('test.txt');
反正它不是advice
..