PHP Error ºÍ Logging º¯Êý
PHP Error ¼ò½é
Error ºÍ Logging º¯ÊýÔÊÐíÄú¶Ô´íÎó½øÐд¦ÀíºÍ¼Ç¼¡£
Error º¯ÊýÔÊÐíÓû§¶¨Òå´íÎó´¦Àí¹æÔò£¬²¢Ð޸ļǼ´íÎóµÄ·½Ê½¡£
Logging º¯ÊýÔÊÐíÓû§¶ÔÓ¦ÓóÌÐò½øÐÐÈÕÖ¾¼Ç¼£¬²¢°ÑÈÕÖ¾ÏûÏ¢·¢Ë͵½µç×ÓÓʼþ¡¢ÏµÍ³ÈÕÖ¾»òÆäËûµÄ»úÆ÷¡£
error º¯ÊýÓÃÓÚÍê³É´íÎó´¦ÀíºÍÈÕÖ¾¼Ç¼¡£
error º¯ÊýÔÊÐíÎÒÃǶ¨Òå×Ô¼ºµÄ´íÎó´¦Àí¹æÔò£¬²¢Ð޸ĴíÎó¼Ç¼·½Ê½¡£
logging º¯ÊýÔÊÐíÎÒÃǽ«ÏûÏ¢Ö±½Ó·¢Ë͵½ÆäËû»úÆ÷¡¢µçÓÊ»òϵͳÈÕÖ¾¡£
error reporting º¯ÊýÔÊÐíÎÒÃÇ´íÎóµÄÀàÐͺͲ㼶¡£
°²×°
PHP error º¯ÊýÊÇ PHP ºËÐĵÄÒ»²¿·Ö¡£ÎÞÐè°²×°¼´¿ÉʹÓÃÕâЩº¯Êý¡£
Runtime ÅäÖÃ
error º¯ÊýµÄÐÐΪÊܵ½ php.ini ÖÐÉèÖõÄÓ°Ïì¡£
Errors ºÍ logging ÅäÖÃÑ¡ÏîÈçÏ£º
| Ãû³Æ | ĬÈÏÖµ | ÃèÊö | ¿ÉÐ޸ķ¶Î§ |
|---|---|---|---|
| error_reporting | NULL | ÉèÖôíÎ󱨸漶±ð£¨ÕûÊý»òÃüÃû³£Á¿£© | PHP_INI_ALL |
| display_errors | "1" |
¹æ¶¨ÊÇ·ñ½«´íÎó×÷ΪÊä³öÊä³öµ½ÆÁÄ»£¬»òÕß¶ÔÓû§Òþ²Ø¡£ ×¢Ò⣺¸ÃÌØÐÔ²»Ó¦ÔÚÉú²úϵͳÉÏʹÓ㨽öÖ§³Ö¿ª·¢£© |
PHP_INI_ALL |
| display_startup_errors | "0" |
¼´Ê¹ display_errors ÉèÖÃΪ¿ªÆô, PHP Æô¶¯¹ý³ÌÖеĴíÎóÐÅÏ¢Ò²²»»á±»ÏÔʾ¡£ ×¢ÊÍ£ºÇ¿ÁÒ½¨Òé³ýÁ˵÷ÊÔÄ¿µÄÒÔÍ⣬½« display_startup_errors ÉèÖÃΪ¹Ø±Õ¡£ |
PHP_INI_ALL |
| log_errors | "0" |
ÉèÖÃÊÇ·ñ½«½Å±¾ÔËÐеĴíÎóÐÅÏ¢¼Ç¼µ½·þÎñÆ÷´íÎóÈÕÖ¾»òÕß error_log Ö®ÖС£ ×¢ÊÍ£ºÕâÊÇÓë·þÎñÆ÷Ïà¹ØµÄÌØ¶¨ÅäÖÃÏî¡£ ×¢ÊÍ£ºÔÚÉú²úϵͳÖУ¬Ç¿ÁÒ½¨ÒéÄãʹÓôíÎóÈÕÖ¾¼Ç¼webÕ¾µãÉÏÏÔʾµÄ´íÎóÐÅÏ¢¡£ |
PHP_INI_ALL |
| log_errors_max_len | "1024" |
ÉèÖà log_errors µÄ×î´ó×Ö½ÚÊý¡£ÔÚ error_log »áÌí¼ÓÓйشíÎóÔ´µÄÐÅÏ¢¡£ ĬÈÏֵΪ 1024£¬Èç¹ûÉèÖÃΪ 0 ±íʾ²»ÏÞ³¤¶È¡£ ¸Ã³¤¶ÈÉèÖöԼǼµÄ´íÎó£¬ÏÔʾµÄ´íÎó£¬ÒÔ¼° $php_errormsg ¶¼»áÓÐÏÞÖÆ×÷Óᣠ|
PHP_INI_ALL |
| ignore_repeated_errors | "0" |
¹æ¶¨ÊÇ·ñ¼ÇÂ¼ÖØ¸´µÄ´íÎóÐÅÏ¢¡£ ÖØ¸´µÄ´íÎó±ØÐë³öÏÖÔÚͬһ¸öÎļþÖеÄͬһÐдúÂëÉÏ£¬³ý·Ç ignore_repeated_source ÉèÖÃΪ true¡£ |
PHP_INI_ALL |
| ignore_repeated_source | "0" |
¹æ¶¨ÊÇ·ñ¼ÇÂ¼ÖØ¸´µÄ´íÎóÐÅÏ¢¡£ºöÂÔÖØ¸´ÏûϢʱ£¬Ò²ºöÂÔÏûÏ¢µÄÀ´Ô´¡£ µ±¸ÃÉèÖÿªÆôʱ£¬Öظ´ÐÅÏ¢½«²»»á¼Ç¼ËüÊÇÓɲ»Í¬µÄÎļþ»¹ÊDz»Í¬µÄÔ´´úÂëÐвúÉúµÄ¡£ |
PHP_INI_ALL |
| report_memleaks | "1" | Èç¹û¸Ã²ÎÊý±»ÉèÖÃΪ On£¨Ä¬ÈÏ£©£¬Ôò»áÏÔʾÓÉ Zend ÄÚ´æ¹ÜÀíÆ÷Õì²âµ½µÄÄÚ´æÐ¹Â¶±¨¸æ¡£ | PHP_INI_ALL |
| track_errors | "0" | Èç¹û¿ªÆô£¬×îºóÒ»¸ö´íÎó½«ÓÀÔ¶´æÔÚÓÚ±äÁ¿ $php_errormsg ÖС£ | PHP_INI_ALL |
| html_errors | "1" | ÔÚ´íÎóÐÅÏ¢ÖÐ¹Ø±Õ HTML ±êÇ©¡£ |
|
| xmlrpc_errors | "0" | Èç¹ûÆôÓã¬Ôò¹Ø±ÕÕý³£µÄ´íÎ󱨸棬²¢½«´íÎóµÄ¸ñʽÉèÖÃΪ XML-RPC ´íÎóÐÅÏ¢µÄ¸ñʽ¡£ | PHP_INI_SYSTEM |
| xmlrpc_error_number | "0" | ÓÃ×÷ XML-RPC faultCode ÔªËØµÄÖµ¡£ | PHP_INI_ALL |
| docref_root | "" | (available since PHP 4.3) | PHP_INI_ALL |
| docref_ext | "" | (available since PHP 4.3.2) | PHP_INI_ALL |
| error_prepend_string | NULL | ¹æ¶¨´íÎóÐÅϢ֮ǰÊä³öµÄ×Ö·û´®¡£ | PHP_INI_ALL |
| error_append_string | NULL | ¹æ¶¨´íÎóÐÅÏ¢Ö®ºóÊä³öµÄ×Ö·û´®¡£ | PHP_INI_ALL |
| error_log | NULL |
ÉèÖýű¾´íÎ󽫱»¼Ç¼µ½µÄÎļþ¡£¸ÃÎļþ±ØÐëÊÇ web ·þÎñÆ÷Óû§¿ÉдµÄ¡£ Èç¹ûʹÓÃÁËÌØÊâÖµ syslog£¬Ôò½«´íÎóÐÅÏ¢·¢Ë͵½ÏµÍ³ÈÕÖ¾¼Ç¼Æ÷¡£ |
PHP_INI_ALL |
PHP Error ºÍ Logging º¯Êý
| º¯Êý | ÃèÊö |
|---|---|
| debug_backtrace() | Éú³É backtrace¡£ |
| debug_print_backtrace() | ´òÓ¡ backtrace¡£ |
| error_get_last() | ·µ»Ø×îºó·¢ÉúµÄ´íÎó¡£ |
| error_log() | Ïò·þÎñÆ÷´íÎó¼Ç¼¡¢Îļþ»òÔ¶³ÌÄ¿±ê·¢ËÍ´íÎóÏûÏ¢¡£ |
| error_reporting() | ¹æ¶¨±¨¸æÄĸö´íÎó¡£ |
| restore_error_handler() | »Ö¸´Ö®Ç°µÄ´íÎó´¦Àí³ÌÐò¡£ |
| restore_exception_handler() | »Ö¸´Ö®Ç°µÄÒì³£´¦Àí³ÌÐò¡£ |
| set_error_handler() | ÉèÖÃÓû§×Ô¶¨ÒåµÄ´íÎó´¦Àíº¯Êý¡£ |
| set_exception_handler() | ÉèÖÃÓû§×Ô¶¨ÒåµÄÒì³£´¦Àíº¯Êý¡£ |
| trigger_error() | ´´½¨Óû§¼¶±ðµÄ´íÎóÏûÏ¢¡£ |
| user_error() | trigger_error() µÄ±ðÃû¡£ |
PHP 5 Ô¤¶¨Òå´íÎóºÍÈÕÖ¾³£Á¿
| Öµ | ³£Á¿ | ÃèÊö |
|---|---|---|
| 1 | E_ERROR | ÔËÐÐʱÖÂÃüµÄ´íÎó¡£²»ÄÜÐÞ¸´µÄ´íÎó¡£ÖÕÖ¹Ö´Ðнű¾¡£ |
| 2 | E_WARNING | ÔËÐÐʱ·ÇÖÂÃüµÄ´íÎó¡£²»ÖÕÖ¹Ö´Ðнű¾¡£ |
| 4 | E_PARSE | ±àÒëʱÓï·¨½âÎö´íÎó¡£½âÎö´íÎó½ö½öÓÉ·ÖÎöÆ÷²úÉú¡£ |
| 8 | E_NOTICE | ÔËÐÐʱ֪ͨ¡£±íʾ½Å±¾Óöµ½¿ÉÄÜ»á±íÏÖΪ´íÎóµÄÇé¿ö£¬µ«ÊÇÔÚ¿ÉÒÔÕý³£ÔËÐеĽű¾ÀïÃæÒ²¿ÉÄÜ»áÓÐÀàËÆµÄ֪ͨ¡£ |
| 16 | E_CORE_ERROR | ÔÚ PHP ³õʼ»¯Æô¶¯¹ý³ÌÖз¢ÉúµÄÖÂÃü´íÎ󡣸ôíÎóÀàËÆ E_ERROR£¬µ«ÊÇÊÇÓÉ PHP ÒýÇæºËÐIJúÉúµÄ¡£ |
| 32 | E_CORE_WARNING | PHP ³õʼ»¯Æô¶¯¹ý³ÌÖз¢ÉúµÄ¾¯¸æ (·ÇÖÂÃü´íÎó) ¡£ÀàËÆ E_WARNING£¬µ«ÊÇÊÇÓÉ PHP ÒýÇæºËÐIJúÉúµÄ¡£ |
| 64 | E_COMPILE_ERROR | ÖÂÃü±àÒëʱ´íÎó¡£ÀàËÆ E_ERROR, µ«ÊÇÊÇÓÉ Zend ½Å±¾ÒýÇæ²úÉúµÄ¡£ |
| 128 | E_COMPILE_WARNING | ±àÒëʱ¾¯¸æ (·ÇÖÂÃü´íÎó)¡£ÀàËÆ E_WARNING£¬µ«ÊÇÊÇÓÉ Zend ½Å±¾ÒýÇæ²úÉúµÄ¡£ |
| 256 | E_USER_ERROR | Óû§²úÉúµÄ´íÎóÐÅÏ¢¡£ÀàËÆ E_ERROR, µ«ÊÇÊÇÓÉÓû§×Ô¼ºÔÚ´úÂëÖÐʹÓÃPHPº¯Êý trigger_error()À´²úÉúµÄ¡£ |
| 512 | E_USER_WARNING | Óû§²úÉúµÄ¾¯¸æÐÅÏ¢¡£ÀàËÆ E_WARNING, µ«ÊÇÊÇÓÉÓû§×Ô¼ºÔÚ´úÂëÖÐʹÓà PHP º¯Êý trigger_error() À´²úÉúµÄ¡£ |
| 1024 | E_USER_NOTICE | Óû§²úÉúµÄ֪ͨÐÅÏ¢¡£ÀàËÆ E_NOTICE, µ«ÊÇÊÇÓÉÓû§×Ô¼ºÔÚ´úÂëÖÐʹÓà PHP º¯Êý trigger_error() À´²úÉúµÄ¡£ |
| 2048 | E_STRICT | ÆôÓà PHP ¶Ô´úÂëµÄÐ޸Ľ¨Ò飬ÒÔÈ·±£´úÂë¾ßÓÐ×î¼ÑµÄ»¥²Ù×÷ÐÔºÍÏòǰ¼æÈÝÐÔ¡£ |
| 4096 | E_RECOVERABLE_ERROR | ¿É±»²¶×½µÄÖÂÃü´íÎó¡£Ëü±íʾ·¢ÉúÁËÒ»¸ö¿ÉÄܷdz£Î£ÏյĴíÎ󣬵«ÊÇ»¹Ã»Óе¼Ö PHP ÒýÇæ´¦ÓÚ²»Îȶ¨µÄ״̬¡£ Èç¹û¸Ã´íÎóûÓб»Óû§×Ô¶¨Òå¾ä±ú²¶»ñ (²Î¼û set_error_handler())£¬½«³ÉΪһ¸ö E_ERROR ´Ó¶ø½Å±¾»áÖÕÖ¹ÔËÐС£ |
| 8192 | E_DEPRECATED | ÔËÐÐʱ֪ͨ¡£ÆôÓú󽫻á¶ÔÔÚδÀ´°æ±¾ÖпÉÄÜÎÞ·¨Õý³£¹¤×÷µÄ´úÂë¸ø³ö¾¯¸æ¡£ |
| 16384 | E_USER_DEPRECATED | Óû§²úÉúµÄ¾¯¸æÐÅÏ¢¡£ÀàËÆ E_DEPRECATED, µ«ÊÇÊÇÓÉÓû§×Ô¼ºÔÚ´úÂëÖÐʹÓà PHP º¯Êý trigger_error() À´²úÉúµÄ¡£ |
| 32767 | E_ALL | E_STRICT ³ý·ÇµÄËùÓдíÎóºÍ¾¯¸æÐÅÏ¢¡£ |