有各种PHP error constants描述各种错误和警告。
虽然我可以手动将这些错误常量映射到它们的相应值,但有没有更好的方法将这些映射到常量的名称,甚至更好,它们的人类可读名称(E_NOTICE - >“PHP Notice “)?
答案 0 :(得分:0)
我希望我能理解你想要的东西。 我希望能成为你的帮助。
function ErrorType($type)
{
switch($type)
{
case E_ERROR: // 1 //
return 'ERROR';
case E_WARNING: // 2 //
return 'WARNING';
case E_PARSE: // 4 //
return 'PARSE';
case E_NOTICE: // 8 //
return 'NOTICE';
case E_CORE_ERROR: // 16 //
return 'CORE_ERROR';
case E_CORE_WARNING: // 32 //
return 'CORE_WARNING';
case E_COMPILE_ERROR: // 64 //
return 'COMPILE_ERROR';
case E_COMPILE_WARNING: // 128 //
return 'COMPILE_WARNING';
case E_USER_ERROR: // 256 //
return 'USER_ERROR';
case E_USER_WARNING: // 512 //
return 'USER_WARNING';
case E_USER_NOTICE: // 1024 //
return 'USER_NOTICE';
case E_STRICT: // 2048 //
return 'STRICT';
case E_RECOVERABLE_ERROR: // 4096 //
return 'RECOVERABLE_ERROR';
case E_DEPRECATED: // 8192 //
return 'DEPRECATED';
case E_USER_DEPRECATED: // 16384 //
return 'USER_DEPRECATED';
}
return "";
}
function xhandler($errno,$errstr,$errfile,$errline,$context)
{
$errno = ErrorType($errno);
error_log("PHP ".$errno.": ".$errstr." in ".$errfile." on line ".$errline);
}
set_error_handler('xhandler',E_ALL);