PHP China | 中国开源之路 's Archiver

jusinq 发表于 2008-11-18 18:26

error_reporting 函数求助

error_reporting 这个函数我还不是很懂,为什么有的文件要设置error_reporting,他的参数具体都代表什么?

一般系统完成之后error_reporting要如何设置,才能避免用户浏览的时候看见错误提示信息?自己调试的时候应该如何设置error_reporting?有人能归纳下吗?

这个问题完成之后我要将他发表在Q&A中去

yufanmn 发表于 2008-11-18 18:27

error_reporting ()

(PHP3 , PHP4)

使用: error_reporting(E_ERROR | E_PARSE);

error_reporting --- 设定PHP错误回报等级

语法 : int error_reporting ([int level])

说明 :

设定PHP的错误回报等级并且传回旧的等级。错误回报等级是一位元罩,有下列的值 :

值 内部的名称
1 E_ERROR
2 E_WARNING
4 E_PARSE
8 E_NOTICE
16 E_CORE_ERROR
32 E_CORE_WARNING

E_ERROR : 预设上是列出错误,并且在函式传回之后终止程式的执行

E_WARNING : 预设上是列出警告,但是不中断程式的执行

E_PARSE : 剖析语法上的错误

E_NOTICE : 预设上是列出注意,并且指出程式冲突的地方

E_CORE_ERROR : 这象是E_ERROR,不同处在于它是由PHP的核心所产生的,函式将不会产生此型态的错误

E_CORE_WARNING : 这象是E_WARNING,不同处在于它是由PHP的核心所产生的,函式将不会产生此型态的错误

如果是error_reporting (7) 里面的7是怎么得到的呢? 也就是1+2+4 同等E_ERROR+E_WARNING+E_PARSE

jusinq 发表于 2008-11-19 02:55

调试的时候应该如何设置它的值使它报告错误?
程序应用到互联网上的时候应该如何设置它的值使它屏蔽显示错误?

能具体答一下这两个问题吗?

异度冰晶 发表于 2008-11-19 09:53

调试的时候一般设为 E_ALL & ~E_NOTICE
发布后改为 0

idgnarn 发表于 2008-11-19 10:23

调试e_all,notice也是很重要的,未初始化的变量可能造成漏洞

jusinq 发表于 2008-11-19 20:45

谢谢,我已经将该问题发布于Q&A中!

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.