如:
@mysql_connect(...) or die("Database Connect Error")
屏蔽PHP错误提示方法二、编辑php.ini ,查找"display_errors =" ,将“=”后面的值改为"off。
屏蔽PHP错误提示方法三、在php脚本前加error_reporting(0),屏蔽所有错误提示。
error_reporting
配置错误信昌铅信息回报的等级。
语法: int error_reporting(int [level])
返回值: 整数
函数种类: PHP 系统功能
屏蔽PHP错误提示函数内容说明
本函数用来配置错误信息回报的等级,参数 level 是一个整数的位遮罩 (bitmask),见下表。
遮罩值 表示名称
E_ERROR
E_WARNING
E_PARSE
E_NOTICE
E_CORE_ERROR
E_CORE_WARNING
E_NOTICE 表示一般情形不记录,只有程序有错误情形时才用到,例如企图存取一个不存在的变量,或是呼叫 stat() 函数检视不存在的文件。
E_WARNING 通常都会显示出来,但不会中断程序的执行。这对除错很有效。例如:用有问题的正则表达式呼叫 ereg()。
E_ERROR 通常会显示出来,亦会中断程序执行。意即用这个遮罩无法追查到内存配置或其它的错误。
E_PARSE 从语法中解析迅伏错误。
E_CORE_ERROR 类似 E_ERROR,但不包括滑好 PHP 核心造成的错误。
E_CORE_WARNING 类似 E_WARNING,但不包括 PHP 核心错误警告。
error_reporting( 7 ) = error_reporting( 1+2+4) = error_reporting(E_ERROR | E_WARING | E_PARSE)
以上就是屏蔽PHP错误提示的相关实现方法。
如何有效实现
诸如下面这些错误的提示: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 43Warning: 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 ,查找"display_errors =" ,将“=”后面的值改为"off。
屏蔽PHP错误提示方法三、在php脚本前加error_reporting(0),屏蔽所有错误提示。
例:
@$a = $b['a']//忽略@后面语句的错误
$a = @$b['a']//忽略@后面语句的错误,推荐使用这句。因为错误是在$b这个数组中发生的,所以@符号在$b前就可以了,这是错误真正发生的地方。
让PHP不报错的方法是修改PHP.INI,里面有下面羡肆桥一行:display_errors = On
修改为:
display_errors = Off
不过我还是建兄猛议你修雹链改程序,不要出错,否则以后程序遇到问题就麻烦了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)