>我有一个这样的页面:
error_reporting(-1);
require('test.txt');
我知道测试不存在.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错误时,没有错误显示。什么是问题?请告诉我
我认为require不会抛出E_ERROR
而是抛出E_COMPILE_ERROR
。
所以请用error_reporting(E_COMPILE_ERROR);
尝试一下
这个怎么样
error_reporting (E_ALL & ~E_WARNING & ~E_NOTICE & ~E_DEPRECATED) ;
这应该给你所需的所有错误
更新
中国 此网址
http://www.php.net/manual/en/function.require.php
它说
包括,除非失败,否则它还会产生致命的 E_COMPILE_ERROR级别错误。
所以这段代码总是会给出编译错误。上面的配置将最适合您的生产环境。
试试这个
error_reporting(64);
require('test.txt');
如果要抑制错误,这是正确的方法
error_reporting(E_COMPILE_ERROR );
require('test.txt');
反正不是这样advice
..