IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

error_reporting:控制你的php程序报错等级

Zhang Jiuan' Notes 2010-03-12 09:18:14 累计浏览 3,804 次
本机暂存
   一次偶然的机会,发现发一段程序感觉诡异,于是详细查了一把文档。

原程序如下:

class os_cart {

    public function pay() {

        //do something

    }

    ….

}

os_cart::pay();

即然成员函数声明的不是static的,为什么可以使用静态模式来调用呢?这样

为什么不会报错呢?查了一下文档,原来和error_reporting函数相关。如果

error_reporting的设置包含了E_STRICT的话,那么程序会进行严格的检查,

对于非静态函数进行静态方式调用,就会报错。如果将E_STRICT错误过滤掉

的话,就不会报错了。

error_reporting的设置方式:

    1 在php.ini配置文件中进行配置,相关值如下列表:

value constant
1 E_ERROR
2 E_WARNING
4 E_PARSE
8 E_NOTICE
16 E_CORE_ERROR
32 E_CORE_WARNING
64 E_COMPILE_ERROR
128 E_COMPILE_WARNING
256 E_USER_ERROR
512 E_USER_WARNING
1024 E_USER_NOTICE
2047 E_ALL
2048 E_STRICT

    2 在程序中进行设置,在程序入口处使用error_reporting函数进行设置

如 error_reporting(E_ALL | E_STRICT);这里需要说明的是,E_ALL并

不包含E_STRICT。

同分类推荐文章

  1. 等了十年的 Go 链式管道,终于来了:seq 让你像写 Scala 一样写 Go (2026-06-25 18:38:18)
  2. Go 实验特性详解 (2026-06-21 10:05:27)
  3. amd64 微架构级别对 Go 程序性能提升多少? (2026-06-21 09:38:49)

查看更多 后端 文章 →

建议继续学习

  1. 使用gettext来支持PHP的多语言 (累计阅读 39,270)
  2. WordPress插件开发 -- 在插件使用数据库存储数据 (累计阅读 29,164)
  3. Paypal接口详细代码(PHP版,非API接口) (累计阅读 19,408)
  4. 我的PHP,Python和Ruby之路 (累计阅读 13,149)
  5. include(“./file.php”)和include(“file.php”)区别 (累计阅读 12,790)
  6. 15个最好的免费开源电子商务平台 (累计阅读 12,541)
  7. Redis消息队列的若干实现方式 (累计阅读 12,088)
  8. 到底什么是MVC? (累计阅读 11,868)
  9. 整理了一份招PHP高级工程师的面试题 (累计阅读 11,709)
  10. Rolling cURL: PHP并发最佳实践 (累计阅读 11,488)