PHP的错误类型和屏蔽方法有哪些?

在PHP中,有三种主要类型的错误。

1. 注意(Notices)

这些是比较小但是不是很严重的问题,比如访问未定义的变量。通常,这种类型的错误不会指示给用户,但有时这些错误会影响运行的结果。

2. 警告(Warnings)

这就是稍微严重一些的错误了,比如想要包含include()一个本身不存在的文件。这样的错误信息会提示给用户,但不会导致程序终止运行。

3. 致命错误(Fatal errors)

这些就是严重的错误,比如你想要初始化一个根本不存在的类的对象,或调用一个不存在的函数,这些错误会导致程序停止运行,PHP也会把这些错误展现给用户。

不同的错误种类包括:

E_ERROR:通常会显示出来,也会中断程序执行。

E_WARNING:通常都会显示出来,但不会中断程序的执行。

E_NOTICE:在脚本正常运行下发生的代码错误。

E_PARSE:语法解析错误。

E_CORE_ERROR:在PHP启动时发生的致命错误。

E_CORE_WARNING:报告在PHP启动时发生的非致命性错误。

E_COMPILE_ERROR:编译时发生的致命错误,指出脚本的错误。

E_USER_ERROR:用户产生的错误信息。

E_USER_WARNING:用户产生的警告信息。

E_USER_NOTICE:用户引发的注意消息。

E_STRICT:编码标准化警告,运行时发生的错误。

E_RECOVERABLE_ERROR:接近致命的运行时错误,若未被捕获则视同E_ERROR。

E_ALL:捕获所有的错误和警告。

屏蔽PHP错误提示

方法一:在有可能出错的函数前加@,然后or die(“”)

如:

@mysql_connect(…) or die(“Database Connect Error”)

方法二:编辑php.ini ,查找”display_errors =” ,将“=”后面的值改为”off。

方法三:在php脚本前加error_reporting(0),屏蔽所有错误提示。

其中,error_reporting 配置错误信息回报的等级。

语法:int error_reporting(int [level]);

返回值:整数

函数种类:PHP 系统功能

说明 int error_reporting ([ int $level ] )

error_reporting() 函数能够在运行时设置 error_reporting 指令。 PHP 有诸多错误级别,使用该函数可以设置在脚本运行时的级别。 如果没有设置可选参数 level, error_reporting() 仅会返回当前的错误报告级别。

参数

level新的 error_reporting 级别。 可以是一个位掩码也可以是一个已命名的常量。 强烈建议使用已命名的常量,以确保兼容将来的版本。 由于错误级别的添加、整数取值范围的增加, 较久的基于整数的错误级别不会总是和预期的表现一致。

可用的错误级别常量及其实际含义描述在了 predefined constants 中。

返回值 返回旧的 error_reporting 级别,或者在 level 参数未给出时返回当前的级别。

范例

Example #1 error_reporting() 范例

<?php

// 关闭所有PHP错误报告

error_reporting(0);

// Report simple running errors

error_reporting(E_ERROR | E_WARNING | E_PARSE);

// 报告 E_NOTICE也挺好 (报告未初始化的变量

// 或者捕获变量名的错误拼写)

error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

// 除了 E_NOTICE,报告其他所有错误

// 这是在 php.ini 里的默认设置

error_reporting(E_ALL ^ E_NOTICE);

// 报告所有 PHP 错误 (参见 changelog)

error_reporting(E_ALL);

// 报告所有 PHP 错误

error_reporting(-1);

// 和 error_reporting(E_ALL); 一样

ini_set(‘error_reporting’, E_ALL);

?>

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/115392.html<

(0)
运维的头像运维
上一篇2025-02-18 02:12
下一篇 2025-02-18 02:13

相关推荐

  • 高效安全团队的7个习惯

    安全需要聪敏的人员、过程和技术(PPT)。但该PPT方程式中“人(P)”的部分往往被忽略掉了。 [[245562]] 互联网数据中心(IDC)预测,全球数字化转型技术开支今年将达1…

  • 防止鱼叉式网络钓鱼的8个窍门

    【】据梭子鱼公司周二的一份报告显示,鱼叉式网络钓鱼在网络犯罪分子当中越来越受欢迎,企业必须采取措施以防范网络钓鱼,否则面临敏感信息被盗的风险。 [[260295]] 报告特别指出,…

  • 华三通信向全世界展示中国本土IT企业的创新能力

    岁末临近,第二届世界互联网大会如约而至,毫无意外的是,本届大会议题中,网络安全再次占据了很大的比重。并且国家高层对网络安全形势也表示,互联网发展对国家主权、安全、发展利益提出了新的…

  • COVID-19 对网络安全的影响

    2019新型冠状病毒大流行给企业带来了新的挑战,因为它们正在适应在家工作已成为“新常态”的运营模式。企业正在加速数字化转型,网络安全现在是一个主要问题。如果忽视网络安全风险,对声誉…

  • 上网行为管理之走出代理缓存误区完整版

    此文章主要向大家讲述的是上网行为管理之走出代理缓存误区的实际操作流程,如果你对网行为管理之走出代理缓存误区的实际操作流程相关的实际操作有兴趣的话,你就可以对以下的文章点击观看了。 …

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注