PHP错误级别设置

错误报告级别:指定了在什么情况下,脚本代码中的错误(这里的错误是广义的错误,包括E_NOTICE注意、E_WARNING警告、E_ERROR致命错误等)会以错误报告的形式输出。

设置错误报告级别的方法:

1. 修改PHP的配置文件php.ini

这种方式设置error_reporting后,重启web服务器,就会永久生效。
打开配置文件php.ini,查看错误报告级别error_reporting的默认值,如下:

error_reporting=E_ALL & ~E_DEPRECATED & ~E_STRICT

意思是报告所有的错误,但除了E_DEPRECATEDE_STRICT这两种。
将其修改为:

error_reporting=E_ALL &  ~E_NOTICE

意思是报告所有的错误,但除了E_NOTICE这一种。这也是最常用的错误报告级别,它不会报告注意类(如:使用了未定义的变量)的错误。
保存,重启web服务器后生效。

2. 使用error_reporting()函数

这种方式设置后,可以立即生效。但仅限于在当前脚本中的error_reporting()函数调用的后面区域。

int error_reporting ([ int $level ] )

参数可以是整型或对应的常量标识符,推荐使用常量的形式。返回值为当前位置处起作用的错误报告级别的值(整型值)。
下面列举一些错误报告级别:

值          常量                     说明
1           E_ERROR             报告导致脚本终止运行的致命错误
2           E_WARNING           报告运行时的警告类错误(脚本不会终止运行)
4           E_PARSE             报告编译时的语法解析错误
8           E_NOTICE            报告通知类错误,脚本可能会产生错误
32767       E_ALL               报告所有的可能出现的错误(不同的PHP版本,常量E_ALL的值也可能不同)

error_reporting(E_ALL ^E_NOTICE);    // 除了E_NOTICE之外,报告所有的错误
error_reporting(E_ERROR);       // 只报告致命错误
echo error_reporting(E_ERROR | E_WARNING | E_NOTICE);   // 只报告E_ERROR、E_WARNING 和 E_NOTICE三种错误

注意:配置文件php.inidisplay_errors的默认值为On,代表显示错误提示,如果设置为Off,就会关闭所有的错误提示。

使用 error_reporting(0) 或者在函数前面加 @,可以抑制错误输出,以防止错误消息泄露敏感信息。

时间: 2024-08-09 10:43:00

PHP错误级别设置的相关文章

Android中关于eclipse的错误级别设置

1.在根目录创建:lint.xml,和清单文件同级别 2. <?xml version="1.0" encoding="UTF-8"?><lint>    <issue id="MissingTranslation" severity="warning" /></lint>

PHP 错误级别

PHP 错误级别 : deprecated : 不赞成的 不推荐的 ( 不影响程序运行 ) Notice : 通知级别的错误 未定义 不存在 之类的通知错误 ( 不影响程序运行 ) warning :警告级别 ( 不影响程序运行 ) Fatal error : 致命错误 ( 运行终止运行 ) Parse error : 语法解析错误 程序未运行 在解析时就发生了错误 比如少写了个分号 语法解析错误 在任何情况下都会显示 即使屏蔽了错误信息 错误级别设置: php.ini error_report

PHP 错误与异常 笔记与总结(3)PHP 配置文件(php.ini)中与错误相关的选项 与 设置错误级别

[PHP 配置文件中与错误相关的选项 ] 选项 描述 error_reporting 设置错误报告的级别 display_errors 是否显示错误 log_errors 设置是否将错误信息记录到日志或者 error_log 中 error_log 设置脚本错误将记录到的文件 log_errors_max_len 设置 log_errors 的最大字节数 ignore_repeated_errors 是否忽略重复的错误信息 ignore_repeated_source 是否忽略重复错误消息的来源

php错误级别和错误日志的学习

1.常用的错误报告级别 http://php.net/manual/zh/errorfunc.constants.php E_ERROR : 致命的运行时错误,会阻止脚本运行. E_WARNING : 运行时警告 E_RARSE:语法解析错误 E_NOTICE: 运行时注意消息 E_ALL :全部错误 2.php关于错误的设置 display_errors : 是否开启php输出报告功能,可以在脚本中使用ini_set来进行设置(php.ini中的off和on,在脚本中可以使用1和0) erro

php之错误报告设置

php在运行时,针对严重程度不同的错误,给予不同的错误提示. 开发时,为了程序的规范性,把错误级别调到比较高,notice级别的也报出来,有助于快速定位错误和代码规范.在产品上线后,网站运营过程中,就不宜报这么多错,1:这种错误给客户的印象不好:2:在报错时,把网站的绝对路径都报出来,增大被攻击的风险,因此,在网站上线后,就应该让报错级别降低,少报甚至不报. 设置错误报告级别 1:在php.ini里修改error_reporting选项:2:可以在php页面里,error_reporting()

php中的错误级别

在php编程过程中,大家一定会遇到或多或少的错误提醒,也正是这些错误提示,指引我们编写更加干净的代码,今天先写出我们主要列出的错误类型,先挖坑,写关于php错误与异常的相关知识,慢慢填坑.    Deprecated最低级别错误,程序继续执行 Notice 通知级别的错误 如直接使用未声明变量,程序继续执行 Warning 警告级别的错误,可能得不到想要的结果 Fatal error  致命级别错误致命级别错误,程序不往下执行 parse error 语法解析错误,最高级别错误,连其他错误信息也

PHP 基础篇 - PHP 错误级别详解

一.前言 最近经常看到工作 2 年左右的童鞋写的代码也会出现以静态方法的形式调用非静态方法,这是个 Deprecated 级别的语法错误,代码里不应该出现的.对方很郁闷,说:为什么我的环境可以正常运行呢? 二.详解 代码会不会报错,以及你能不能看到报错信息由 PHP 配置中以下两个参数影响,目前线上主流的配置如下(php.ini 文件中): error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT display_errors = Off 下面

Linux零基础入学之1-3 RHEL7基本命令操作和启动级别设置

§Linux零基础入学之1-3 RHEL7基本命令操作和启动级别设置 [本节内容] *Linux终端介绍 *shell提示符 *Bash shell基本语法 *基本命令的使用:ls.pwd.cd *查看系统折BIOS设置 *Linux如何获得帮助 *Linux关机命令:shutdown.init 0等 *Linux 7个启动级别 *设置服务器在来电后自动开机 [Linux终端介绍] tty    控制台终端 pts    代表虚拟终端 tty1-tty6 > 刚进入的图形界面(桌面)为tty1

Linux的/etc/inittab文件中init级别设置成6(重启)或者不支持级别的解决方法

如果不小心将/etc/inittab文件中的init级别设置成6(重启)或者不支持级别,系统就不能正常启动.本博客讲解如何通过Grub来解决这个问题. 1. 在Linux启动过程中,按Esc键进入Grub界面 2. 按e修改当前Linux系统的配置 3. 选择第二行,按e键,并按如下步骤执行 1)在出现的命令行后加1(单用户模式): 2)按Enter键接收操作并后退到当前Linux配置页面: 3)按b重启Linux. 4. 重启后进入Linux系统,修改/etc/inittab文件.将init级