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

2022-11-13 0 57

在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);

?>

1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!cheeksyu@vip.qq.com
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有积分奖励和额外收入!
5.严禁将资源用于任何违法犯罪行为,不得违反国家法律,否则责任自负,一切法律责任与本站无关

发表评论
暂无评论