PHP Error and Logging Function

PHP Error 简介

Error 和 Logging 函数允许您对错误进行处理和记录。

Error 函数允许用户定义错误处理规则,并修改记录错误的方式。

Logging 函数允许用户对应用程序进行日志记录,并把日志消息发送到电子邮件、系统日志或其他的机器。

error 函数用于完成错误处理和日志记录。

ການບໍລິຫານ error ୲ອານວຍຄວາມສາມາດທີ່ສາມາດກໍານົດກົດລະບຽບການຈັດການຄວາມຜິດພາດແລະປ່ຽນວິທີການບັນທຶກຄວາມຜິດພາດ.

ການບໍລິຫານ logging ອານວຍຄວາມສາມາດທີ່ສົ່ງຂໍ້ຄວາມໄປຫາຄອມພິວເຕີ້ອື່ນໆ, ອີເມວຫຼືເອກະສານລະບົບ.

ການບໍລິຫານ error reporting ອານວຍຄວາມສາມາດທີ່ພິຈາລະນາຄວາມຜິດພາດແລະລະດັບຂອງມັນ.

ການຖືກກັບຄືນ

ການບໍລິຫານ error PHP ແມ່ນສ່ວນໜຶ່ງຂອງ PHP ຄວາມຍາວ. ບໍ່ຕ້ອງຈັດການກັບການຖືກກັບຄືນຫຼືຈັດການການຈັດການ.

ການຈັດການການດຳເນີນງານ

ການຈັດການທີ່ມີຜົນກະທົບຂອງການສະແດງ error ໃນ php.ini.

ຕົວຊີວິດຂອງ Errors ແລະ logging 配置选项ວ່າ:

ຊື່ ຄູ່ມັດເບີ່ງເປັນຕົ້ນເມື່ອບໍ່ມີການການຈັດການ. ອະທິບາຍ ຂອບເຂດທີ່ສາມາດປ່ຽນ.
error_reporting NULL ການຈັດການລະດັບບັນທຶກຄວາມຜິດພາດ (ອັດຕາສະເພາະຫຼືອັດຕາຊື່). PHP_INI_ALL
display_errors "1"

ການຈັດການວ່າຈະສົ່ງຄວາມຜິດພາດຫຼັງຈາກການບັນທຶກໃຫ້ສະແດງໃນໜ້າຈໍານວນຫຼືປິດການຫຼີກຫຼັງຈາກການບັນທຶກ.

ຄວາມເຫັນ:ຄວາມເຫັນ: ລະຫວ່າງທີ່ບໍ່ຄວນໃຊ້ບັນດາຄວາມຜິດພາດໃນລະບົບການບໍລິຫານ (ສະຫຼາດພຽງແຕ່ການພັດທະນາ).

PHP_INI_ALL
display_startup_errors "0"

ເຖິງວ່າການຈັດການ display_errors ແມ່ນເປີດ, ຄວາມຜິດພາດທີ່ຕອບຕາມການດຳເນີນຂອງ PHP ຈະບໍ່ຖືກສະແດງ.

ຄວາມເຫັນ: ຂໍ້ແນະນຳຫຼາຍກວ່ານັ້ນເພື່ອປິດການສະແດງຄວາມຜິດພາດຂອງ PHP ໃນລະບົບການບໍລິຫານ.

PHP_INI_ALL
log_errors "0"

ການຈັດການວ່າຈະບັນທຶກຄວາມຜິດພາດທີ່ຕອບຕາມການດຳເນີນຂອງສະໝອງຫຼິ້ນຫຼືໃນເອກະສານຄວາມຜິດພາດ.

ຄວາມເຫັນ: ນີ້ແມ່ນປະກອບການການຈັດການທີ່ກ່ຽວກັບທີ່ບໍລິຫານ.

ຄວາມເຫັນ: ໃນລະບົບການບໍລິຫານ, ຂໍ້ແນະນຳຫຼາຍກວ່ານັ້ນເພື່ອໃຊ້ການບັນທຶກຄວາມຜິດພາດທີ່ສະແດງໃນເວັບໄຊ.

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 ບໍ່ໄດ້ເປີດໃຊ້.

PHP_INI_ALL
ignore_repeated_source "0"

ກຳນົດວ່າຈະບັນທຶກຂໍ້ຄວາມຜິດພາດທີ່ລາຍງານຫຼືບໍ່. ເມື່ອບໍ່ບັນທຶກຂໍ້ຄວາມທີ່ລາຍງານ, ຈະບໍ່ບັນທຶກຈາກບັນຊີບັນຊີຫຼືການລະບຸສາຍກິດຂອງວິສະວະກອນ.

ຖ້າໄດ້ເປີດໃຊ້, ຂໍ້ຄວາມທີ່ລາຍງານຈະບໍ່ຖືກບັນທຶກວ່າມີຢູ່ຈາກບັນຊີບັນຊີບັນຊີຫຼືການລະບຸສາຍກິດຂອງວິສະວະກອນ.

PHP_INI_ALL
report_memleaks "1" ຖ້າຄູ່ມູນຖືກກຳນົດໃຫ້ On (ຄູ່ມູນຄົງທີ່ເປັນສະຖິນທີ່ເປັນການກະຈາຍ), ຈະສະແດງບົດລາຍງານການສູນຫຼັງຄວາມຜິດພາດທີ່ເຫັນໄດ້ໂດຍ Zend Memory Manager. PHP_INI_ALL
track_errors "0" ຖ້າໄດ້ເປີດໃຊ້, ຄວາມຜິດພາດຫຼ້າສຸດຈະມີຢູ່ຫາການບັນທຶກ $php_errormsg. PHP_INI_ALL
html_errors "1" ປິດຕາຕະລາງ HTML ໃນຂໍ້ຄວາມຜິດພາດ.
  • PHP_INI_ALL
  • PHP_INI_SYSTEM in PHP <= 4.2.3.
xmlrpc_errors "0" ຖ້າໄດ້ເປີດໃຊ້, ຈະປິດການລາຍງານຄວາມຜິດພາດປົກກະຕິ, ແລະກຳນົດຮູບແບບຄວາມຜິດພາດວ່າ XML-RPC. PHP_INI_SYSTEM
xmlrpc_error_number "0" ໃຊ້ງານວ່າຄູ່ມູນ faultCode XML-RPC. 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 and Logging Function

ກອງການ ອະທິບາຍ
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.
32 E_CORE_WARNING ການເຕືອນທີ່ເກີດຂຶ້ນໃນຂະບວນການຕິດຕັ້ງ PHP. ຄືກັບ E_WARNING, ແຕ່ແມ່ນຈາກສູນກຳລັງ PHP.
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 ຂໍ້ບັນຫາທີ່ສາມາດຈັບກັບ. ມັນສະແດງວ່າໄດ້ເກີດຂໍ້ບັນຫາທີ່ອາດຈະສ່ຽງຫຼາຍ, ແຕ່ບໍ່ໄດ້ສະເໜີອັນຕະລາຍທີ່ຈະບໍ່ປອດໄພຂອງເຄື່ອງປະຕິບັດ PHP. ຖ້າຂໍ້ບັນຫາບໍ່ຖືກຈັບກັບໂດຍຜູ້ນຳໃຊ້ການຈັບກັບຂໍ້ບັນຫາ (ບໍ່ມີ set_error_handler()), ຈະກາຍເປັນ E_ERROR ແລະຄູ່ມືຈະຢຸດການເດີນການ.
8192 E_DEPRECATED ຂໍ້ເຕືອນທີ່ເກີດຂຶ້ນໃນການດຳເນີນ. ພາຍຫຼັງທີ່ຖືກເປີດໃຊ້, ຈະເຕືອນວ່າວິກິດທີ່ອາດບໍ່ສາມາດດຳເນີນໄດ້ໃນສະບັບຫນັງວິນາທີ່ຈະມາ.
16384 E_USER_DEPRECATED ຂໍ້ເຕືອນທີ່ສ້າງໂດຍຜູ້ນຳໃຊ້. ຄືກັບ E_DEPRECATED, ແຕ່ແມ່ນຈາກຜູ້ນຳໃຊ້ໃນການໃຊ້ຫົວຂໍ້ຫົວຂໍ້ PHP trigger_error().
32767 E_ALL E_STRICT ທັງໝົດຂອງຂໍ້ບັນຫາແລະຂໍ້ເຕືອນ.