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_ERROR致命错误在 PHP 启动时。这就像 PHP 核心的 E_ERROR。
32E_CORE_WARNING非致命错误在 PHP 启动时。这就像 PHP 核心的 E_WARNING。
64E_COMPILE_ERROR致命错误在编译时。这就像由 Zend 脚本引擎生成的 E_ERROR。
128E_COMPILE_WARNINGerros não fatais de compilação. Isso é semelhante a um E_WARNING gerado pelo motor de script Zend.
256E_USER_ERRORerros fatais gerados pelo usuário. Isso é semelhante a um E_ERROR gerado pelo programador usando a função PHP trigger_error().
512E_USER_WARNINGerros não fatais gerados pelo usuário. Isso é semelhante a um E_WARNING gerado pelo programador usando a função PHP trigger_error().
1024E_USER_NOTICEnotificações geradas pelo usuário. Isso é semelhante a um E_NOTICE gerado pelo programador usando a função PHP trigger_error().
2048E_STRICTnotificações de tempo de execução. O PHP recomenda que você altere o código para melhorar a interoperabilidade e a compatibilidade.
4096E_RECOVERABLE_ERRORerros fatais capturáveis. Isso é semelhante a um E_ERROR que pode ser capturado por um handler definido pelo usuário (ver set_error_handler()).
8191E_ALLTodos os níveis de erros e avisos, exceto E_STRICT (desde PHP 6.0 em diante, E_STRICT será parte de E_ALL).

Retorno

 Retorna o nível antigo do error_reporting ou, se o parâmetro level não for fornecido, retorna o nível atual.

Exemplo online

A seguir está a utilização da função error_reporting-

<?php
// desativa todos os relatórios de erros do PHP
error_reporting(0);
// reporta erros de execução simples
error_reporting(E_ERROR | E_WARNING | E_PARSE);
// reportar E_NOTICE também é bom (reporta variáveis não inicializadas)
// ou capturar erros de digitação de nomes de variáveis)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
// exceto E_NOTICE, reporta todos os outros erros
error_reporting(E_ALL ^ E_NOTICE);
// reporta todos os erros do PHP (ver changelog)
error_reporting(E_ALL);
// reporta todos os erros do PHP
error_reporting(-1);
// e error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);
?>