诸如下面这些错误的提示:
Warning: file_get_contents(/usr/local/tads/htdocs/XXXXXX/src/cache/countLoginnum.txt) [function.file-get-contents]: failed to open stream: No such file or directory in/usr/local/tads/htdocs/XXXXXXX/src/controllers/defaultController.php on line 43
Warning: Cannot modify header information - headers already sent by (output started at /usr/local/tads/htdocs/XXXXXX/src/config/env.php:5) in/usr/local/taesdk/1.0/phplib3/src/base/core/TMWebResponse.class.php on line 332
有的时候代码的警告会导致整个项目无法运行,比如某个变量无对象的情况,若无影响,这时如果屏蔽警告,就可以使整个项目恢复正常运行。当然它的作用不在于这,而是在成品网站或做服务器时,不输出错误信息可以减少被黑客攻击的风险(对于一些容易出错并且容易暴漏敏感数据的代码,一般多在数据库这块吧),也能在出错的情况下仍保持网站的美观。至于在调试下,那这个错误提示信息还是比较有用的,可以在PHP页面最前边加上一句:error_reporting(E_ALL & ~E_NOTICE); 让出错时只显示错误信息,不显示警告信息。
屏蔽的方法:
屏蔽PHP错误提示方法一、在有可能出错的函数前加@,然后or die("")
如:@mysql_connect(...) or die("Database Connect Error")
屏蔽PHP错误提示方法二、修改php.ini :error_reporting = E_ALL & ~E_NOTICE 或 display_errors = off
屏蔽PHP错误提示方法三、在php脚本前加error_reporting(E_ALL & ~E_NOTICE)屏蔽警告;或 error_reporting(0),屏蔽所有错误提示。
例:
@$a
$a