English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP 基础教程

PHP 高级教程

PHP & MySQL

PHP 参考手册

PHP error_reporting() 函数用法及示例

PHP Error & Loggings 参考手册

error_reporting()函数设置应该报告何种 PHP 错误

语法

int error_reporting ( [int $level] );

定义和用法

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

参数

序号参数及说明
1

level(可选)

它指定当前脚本的错误报告级别。接受数值和常量名称。

报告级别

常量描述
1E_ERROR运行时致命的错误。不能修复的错误。停止执行脚本。
2E_WARNING运行时非致命的错误。没有停止执行脚本。
4E_PARSE编译时的解析错误。解析错误应该只由解析器生成。
8E_NOTICE运行时的通知。脚本发现可能是一个错误,但也可能在正常运行脚本时发生。
16E_CORE_ERRORPHP 启动时的致命错误。这就如同 PHP 核心的 E_ERROR。
32E_CORE_WARNINGPHP 启动时的非致命错误。这就如同 PHP 核心的 E_WARNING。
64E_COMPILE_ERROR编译时致命的错误。这就如同由 Zend 脚本引擎生成的 E_ERROR。
128E_COMPILE_WARNING编译时非致命的错误。这就如同由 Zend 脚本引擎生成的 E_WARNING。
256E_USER_ERRORالأخطاء القاتلة المُقدمة من المستخدم. هذا مثل E_ERROR المُقدمة بواسطة البرمجية باستخدام وظيفة PHP trigger_error()
512E_USER_WARNINGالأخطاء غير القاتلة المُقدمة من المستخدم. هذا مثل E_WARNING المُقدمة بواسطة البرمجية باستخدام وظيفة PHP trigger_error()
1024E_USER_NOTICEالإشعارات المُقدمة من المستخدم. هذا مثل E_NOTICE المُقدمة بواسطة البرمجية باستخدام وظيفة PHP trigger_error()
2048E_STRICTالإشعارات عند التنفيذ. يُنصح PHP بتغيير الكود لتحسين التوافق والمرونة
4096E_RECOVERABLE_ERRORال أخطاء القاتلة القابلة للإلتقاط. هذا مثل E_ERROR القابل للإلتقاط بواسطة المستخدم (انظر set_error_handler())
8191E_ALLجميع مستويات الأخطاء والتحذيرات، باستثناء E_STRICT (من PHP 6.0، سيكون E_STRICT جزءًا من E_ALL)

القيمة المُرجعة

 يعيد مستوى error_reporting القديم، أو مستوى الحالي إذا لم يُحدد مستوى

مثال عبر الإنترنت

هذا هو استخدام وظيفة error_reporting هذه -

<?php
// يوقف جميع أخطاء PHP
error_reporting(0);
// يعرض الأخطاء البسيطة في التشغيل
error_reporting(E_ERROR | E_WARNING | E_PARSE);
// يعرض E_NOTICE أيضًا جيدًا (يعرض المتغيرات غير المُحضرة)
// أو قيء خطأ إسم المتغير)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
// باستثناء E_NOTICE، يعرض جميع الأخطاء الأخرى
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);
؟؟