`

如何调整Codeigniter错误报告级别

    博客分类:
  • PHP
 
阅读更多

 

在CI框架中加载httpClient时抛出以下错误:

 

A PHP Error was encountered
Severity: Notice

Message: Undefined variable: host

 

 

在默认的普通PHP文件中输出一个未声明的变量是不会报错误的,但使用codeigniter框架,却会抛出错误。为了不让类似的错误信息显示出来,于是阅读了codeigniter框架代码。在index.php中找到了配置错误级别的方法error_reporting()。

 

error_reporting() 设置 PHP 的报错级别并返回当前级别。

语法
error_reporting(report_level)
如果参数 level 未指定,当前报错级别将被返回。下面几项是 level 可能的值:

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

 

E_NOTICE 表示一般情形不记录,只有程式有错误情形时才用到,例如企图存取一个不存在的变数,或是呼叫 stat() 函式检视不存在的档案。

E_WARNING 通常都会显示出来,但不会中断程式的执行。这对除错很有效。例如:用有问题的常规表示法呼叫 ereg()。

E_ERROR 通常会显示出来,亦会中断程式执行。意即用这个遮罩无法追查到记忆体配置或其它的错误。

E_PARSE 从语法中剖析错误。
E_CORE_ERROR 类似 E_ERROR,但不包括 PHP 核心造成的错误。
E_CORE_WARNING 类似 E_WARNING,但不包括 PHP 核心错误警告。

 

 

error_reporting()函数可以屏蔽掉错误信息,但是PHP 核心造成的错误,是无法屏蔽的,因为PHP 核心造成的错误会直接导致PHP文件编译失败,因为书写格式没有按照PHP的编码规则写而造成的错误,是无法屏蔽的。

 

所以,将error_reporting(E_ALL)改成error_reporting(E_ALL ^ E_NOTICE)就可以屏蔽掉Notice级别的错误。以下列举了一些常用设置:

 

// Turn off all error reporting;
error_reporting(0);

 

// Report simple running errors;
error_reporting(E_ERROR | E_WARNING | E_PARSE);

 

// Reporting E_NOTICE can be good too (to report uninitialized variables or catch variable name misspellings …);
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

 

// Report all errors except E_NOTICE. This is the default value set in php.ini;
error_reporting(E_ALL ^ E_NOTICE);

 

// Report all PHP errors (bitwise 63 may be used in PHP 3);
error_reporting(E_ALL);

 

// Same as error_reporting(E_ALL);
ini_set(’error_reporting’, E_ALL);

 

For more info visit:  http://www.php.net/error_reporting

 

分享到:
评论

相关推荐

    CodeIgniter2.0 中文手册

    开发者可以调整错误报告级别,以及设置日志记录选项。 9. 安全性:CodeIgniter提供了多种安全防护措施,如XSS过滤、SQL注入防御、CSRF保护等。通过正确使用这些工具,可以增强应用程序的安全性。 10. 配置...

    codeigniter的简单示例

    CodeIgniter提供了一套完善的错误处理机制,包括错误报告级别设置和日志记录,有助于调试和优化代码。 11. **安全与加密**: CodeIgniter提供了安全类,支持防止XSS攻击、SQL注入等。还有加密和哈希功能,确保...

    CodeIgniter 中文手册1.6.3版本

    通过调整错误级别设置,可以在开发阶段获取详细的错误信息,而在生产环境中则可以生成日志文件。 5. 模板引擎:CodeIgniter虽然没有内置模板引擎,但其视图系统允许开发者创建动态内容。配合第三方模板库,如Smarty...

    CodeIgniter 1.72 中文帮助文档

    CodeIgniter提供了一套完整的错误处理机制,包括错误报告级别和异常处理。同时,它也支持日志记录,便于开发者追踪和调试应用。 11. **安全与输入过滤** 为了保护应用免受恶意攻击,CodeIgniter提供了输入验证、...

    CodeIgniter2.0中文手册 CHM版

    8. **错误报告和日志**:如何设置错误报告级别,以及如何记录应用程序的日志,有助于调试和问题排查。 9. **安全与防护**:包括XSS过滤、SQL注入防护、CSRF保护等,确保应用程序的安全性。 10. **会话管理**:...

    基于codeigniter的CMS系统

    - **错误处理与日志**:设置错误报告级别,使用日志记录应用程序运行中的问题。 - **性能优化**:如缓存机制、数据库查询优化、减少HTTP请求等。 - **安全性**:处理XSS攻击、SQL注入、CSRF防护,以及文件上传安全...

    CodeIgniter2.1.4中文手册(HTML离线版)

    10. **错误处理和日志记录**:手册会教用户如何配置错误报告级别,以及如何使用日志功能记录应用程序事件。 11. **安全**:CodeIgniter提供了许多安全特性,如XSS过滤、安全的URLs、输入验证和输出清理。手册会详细...

    codeigniter 的模板类库及日志类库

    日志信息可以设置为不同的级别,如警告、错误和调试,以便根据需要记录不同严重程度的信息。日志文件通常存储在`application/logs/`目录下,便于开发者查看和分析。 `CodeIgniter Log Info Library_files`可能包含...

    CodeIgniter框架 php+mysql在线考试系统

    - 错误处理:设置合适的错误报告级别,避免敏感信息泄露,同时提供友好的错误提示。 - 性能优化:使用缓存机制,减少数据库查询,提升系统响应速度。 8. **模板引擎**: - CodeIgniter支持视图模板,可以使用如...

    PHP 敏捷开发框架 CodeIgniter - 快速 Web 应用开发详解

    CodeIgniter有完善的错误处理机制,包括错误报告级别和异常处理。同时,它会自动记录错误日志,便于调试和问题排查。 十、性能优化 CodeIgniter通过缓存机制、模型预加载等功能,提升应用程序性能。开发者还可以...

    codeigniter日志类库

    日志类库是CodeIgniter框架中的一个重要组成部分,它允许开发者记录应用程序运行过程中的事件和错误,以便于调试和后期分析。在本文中,我们将深入探讨CodeIgniter的日志类库,了解其工作原理、使用方法以及如何...

    CodeIgniter-3.1.0

    CI提供了错误处理和日志记录功能,通过配置`config/config.php`,开发者可以选择错误报告级别,以及设置日志保存路径,便于调试和追踪问题。 **6. 安全性** CI 3.1.0强调安全性,内置了XSS过滤、CSRF保护和输入验证...

    CodeIgniter 2.1.1中文手册

    8. **错误报告和日志**:手册会讲述如何配置错误报告级别,以及如何启用和使用日志功能,便于调试和分析问题。 9. **安全与最佳实践**:手册强调了安全问题,如XSS过滤、SQL注入防护,以及推荐的安全编码和认证策略...

    codeigniter 官方中文文档 离线文档

    9. **配置**:CodeIgniter允许开发者通过配置文件调整框架的行为,如设置数据库连接、修改错误报告级别等。 10. **安全与输入验证**:为了防止SQL注入和XSS攻击,CodeIgniter提供了安全类和表单验证功能,确保用户...

    codeigniter_files.rar

    在CodeIgniter中,你可以通过修改此文件来设置全局配置,如错误报告级别、URL分隔符等。 2. **system** - 这是一个核心目录,包含了CodeIgniter框架的所有核心组件。它被划分为多个子目录,每个子目录对应一个特定...

    CodeIgniter_2.1.1.zip

    通过配置,开发者可以选择不同级别的错误报告,并将错误信息记录到日志文件,以便调试和优化。 除此之外,CodeIgniter的配置文件使开发者能快速调整框架的行为,适应不同的项目需求。如config.php文件可以设置全局...

    codeigniter源代码函数中文解释

    - `E_STRICT`:定义一个常量表示 PHP 的严格模式错误级别。 - `ctype_digit()`:检查字符串是否只包含数字。 - `ctype_alnum()`:检查字符串是否只包含字母和数字。 - 加载应用配置常量。 - 关闭 `magic_quotes...

    CodeIgniter-3.1.10.zip

    4. **错误处理与日志记录**:CI有完善的错误报告和日志系统,可以帮助开发者快速定位和解决问题,同时提供多种级别的日志记录,便于调试和监控。 5. **模板引擎**:尽管CI默认不强制使用模板引擎,但它推荐使用View...

    CodeIgniter手册

    14. **错误处理与日志**:介绍如何配置错误报告级别,以及如何记录和查看应用程序日志。 15. **性能优化**:提供关于缓存、模型预加载、减少数据库查询和使用URI路由来提高性能的技巧。 16. **用户指南**:包含...

    PHP 之框架CodeIgniter v1.7.2

    4. 错误处理和日志:框架内置了错误报告和日志记录机制,帮助开发者快速定位和解决问题,同时可以设置不同的错误级别以适应开发和生产环境。 5. 模板引擎:CodeIgniter虽然没有内置模板引擎,但其强大的视图系统...

Global site tag (gtag.js) - Google Analytics