ฟังก์ชันข้อผิดพลาดและการบันทึกช่วยให้คุณสามารถจัดการและบันทึกข้อผิดพลาดได้
ฟังก์ชัน Error ช่วยให้ผู้ใช้สามารถกำหนดกฎการจัดการข้อผิดพลาดและแก้ไขวิธีการบันทึกข้อผิดพลาดได้
ฟังก์ชันการบันทึกช่วยให้ผู้ใช้สามารถบันทึกแอปพลิเคชันและส่งข้อความบันทึกไปยังอีเมล บันทึกของระบบ หรือเครื่องอื่นๆ
ฟังก์ชั่นข้อผิดพลาดได้รับผลกระทบจากไฟล์กำหนดค่า php.ini
ตัวเลือกการกำหนดค่าข้อผิดพลาดและบันทึก:
พารามิเตอร์ | ค่าเริ่มต้น | อธิบาย | ช่วงที่ปรับเปลี่ยนได้ |
---|---|---|---|
ข้อผิดพลาด_การรายงาน | โมฆะ | ตั้งค่าระดับข้อผิดพลาดของ PHP และส่งกลับระดับปัจจุบัน (ตัวเลขหรือค่าคงที่) | 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 โปรดทราบว่านี่คือรายการการกำหนดค่าเฉพาะเซิร์ฟเวอร์ | PHP_INI_ALL |
log_errors_max_len | "1024" | ตั้งค่าจำนวนไบต์สูงสุดใน log_errors ข้อมูลเกี่ยวกับแหล่งที่มาของข้อผิดพลาดจะถูกเพิ่มใน error_log ค่าเริ่มต้นคือ 1024 หากตั้งค่าเป็น 0 จะไม่มีการจำกัดความยาว การตั้งค่าความยาวนี้มีผลจำกัดต่อข้อผิดพลาดที่บันทึกไว้ ข้อผิดพลาดที่แสดง และ $php_errormsg | PHP_INI_ALL |
ละเลย_ซ้ำ_ข้อผิดพลาด | "0" | ข้อมูลที่ซ้ำกันจะไม่ถูกบันทึก ข้อผิดพลาดซ้ำๆ จะต้องเกิดขึ้นในบรรทัดเดียวกันของโค้ดในไฟล์เดียวกัน เว้นแต่จะตั้งค่าign_repeated_sourceเป็นจริง | PHP_INI_ALL |
ละเลย_ซ้ำ_แหล่งที่มา | "0" | เมื่อละเว้นข้อความที่ซ้ำกัน แหล่งที่มาของข้อความก็จะถูกละเว้นเช่นกัน เมื่อเปิดการตั้งค่านี้ ข้อความที่ซ้ำกันจะไม่บันทึกว่าข้อความเหล่านั้นสร้างจากไฟล์ต่างกันหรือบรรทัดซอร์สโค้ดต่างกัน | PHP_INI_ALL |
report_memlakes | "1" | หากตั้งค่าพารามิเตอร์นี้เป็นปิด ข้อมูลหน่วยความจำรั่วจะไม่แสดง (ใน stdout หรือบันทึก) | PHP_INI_ALL |
track_errors | "0" | หากเปิดใช้งาน ข้อผิดพลาดสุดท้ายจะมีอยู่ในตัวแปร $php_errormsg เสมอ | PHP_INI_ALL |
html_errors | "1" | ปิดแท็ก HTML ในข้อความแสดงข้อผิดพลาด | PHP_INI_ALLPHP_INI_SYSTEM ใน PHP <= 4.2.3 |
xmlrpc_errors.xmlrpc_errors | "0" | ปิดการรายงานข้อผิดพลาดปกติและจัดรูปแบบข้อผิดพลาดเป็นข้อความแสดงข้อผิดพลาด XML-RPC | PHP_INI_SYSTEM |
xmlrpc_error_number | "0" | ใช้เป็นค่าสำหรับองค์ประกอบ XML-RPC FaultCode | PHP_INI_ALL |
docref_root | - | รูปแบบข้อความแสดงข้อผิดพลาดใหม่ประกอบด้วยหน้าอ้างอิงที่เกี่ยวข้องซึ่งอธิบายข้อผิดพลาดโดยเฉพาะหรืออธิบายฟังก์ชันที่ทำให้เกิดข้อผิดพลาด เพื่อจัดเตรียมหน้าคู่มือ คุณสามารถดาวน์โหลดคู่มือภาษาที่เกี่ยวข้องได้จากเว็บไซต์อย่างเป็นทางการของ PHP และตั้งค่า URL ใน ini ให้เป็นที่อยู่ที่เกี่ยวข้องในเครื่อง หากสำเนาคู่มือในเครื่องของคุณสามารถเข้าถึงได้โดยใช้ "/manual/" คุณสามารถตั้งค่า docref_root=/manual/ ได้ นอกจากนี้ คุณยังต้องตั้งค่า docref_ext ให้ตรงกับส่วนต่อท้ายของไฟล์ในเครื่องของคุณ docref_ext=.html แน่นอน คุณยังสามารถตั้งค่าที่อยู่อ้างอิงภายนอกได้ ตัวอย่างเช่น คุณสามารถตั้งค่า docref_root=http://manual/en/ หรือ docref_root="http://landonize.it/?how=url&theme=classic&filter=Landon &url=http%3A%2F%2Fwww.php.net%2F " | PHP_INI_ALL |
docref_ext | - | ดูที่ docref_root | PHP_INI_ALL |
error_prepend_string | โมฆะ | ผลลัพธ์เนื้อหาก่อนข้อความแสดงข้อผิดพลาด | PHP_INI_ALL |
error_append_string | โมฆะ | เนื้อหาที่ส่งออกหลังจากข้อความแสดงข้อผิดพลาด | PHP_INI_ALL |
error_log | โมฆะ | ตั้งค่าไฟล์ที่จะบันทึกข้อผิดพลาดของสคริปต์ ไฟล์จะต้องเขียนได้โดยผู้ใช้เว็บเซิร์ฟเวอร์ | PHP_INI_ALL |
ฟังก์ชันข้อผิดพลาดและการบันทึกเป็นส่วนหนึ่งของแกนหลักของ PHP ไม่จำเป็นต้องติดตั้งเพื่อใช้ฟังก์ชันเหล่านี้
PHP : ระบุเวอร์ชัน PHP แรกสุดที่รองรับฟังก์ชันนี้
การทำงาน | อธิบาย | PHP |
---|---|---|
debug_backtrace() | สร้างการย้อนรอย | 4 |
debug_print_backtrace() | พิมพ์ย้อนรอย. | 5 |
error_get_last() | รับข้อผิดพลาดล่าสุดที่เกิดขึ้น | 5 |
error_log() | ส่งข้อผิดพลาดไปยังบันทึกข้อผิดพลาดของเซิร์ฟเวอร์ ไฟล์ หรือปลายทางระยะไกล | 4 |
error_reporting() | ระบุข้อผิดพลาดที่จะรายงาน | 4 |
Restore_error_handler() | คืนค่าตัวจัดการข้อผิดพลาดก่อนหน้านี้ | 4 |
Restore_Exception_handler() | คืนค่าตัวจัดการข้อยกเว้นก่อนหน้านี้ | 5 |
set_error_handler() | ตั้งค่าฟังก์ชันการจัดการข้อผิดพลาดที่ผู้ใช้กำหนด | 4 |
set_Exception_handler() | ตั้งค่าฟังก์ชันการจัดการข้อยกเว้นที่ผู้ใช้กำหนด | 5 |
trigger_error() | สร้างข้อความแสดงข้อผิดพลาดที่ผู้ใช้กำหนด | 4 |
user_error() | นามแฝงสำหรับ trigger_error() | 4 |
PHP : ระบุเวอร์ชัน PHP แรกสุดที่รองรับค่าคงที่นี้
ค่า | คงที่ | อธิบาย | PHP |
---|---|---|---|
1 | E_ERROR | ข้อผิดพลาดร้ายแรงรันไทม์ ข้อผิดพลาดที่แก้ไขไม่ได้ หยุดดำเนินการสคริปต์ | |
2 | E_คำเตือน | ข้อผิดพลาดรันไทม์ที่ไม่ร้ายแรง การดำเนินการสคริปต์ไม่หยุด | |
4 | E_พาร์ส | ข้อผิดพลาดในการแยกวิเคราะห์เวลาคอมไพล์ ข้อผิดพลาดในการแยกวิเคราะห์ควรสร้างขึ้นโดย parser เท่านั้น | |
8 | E_ประกาศ | การแจ้งเตือนรันไทม์ การค้นพบสคริปต์อาจเป็นจุดบกพร่อง แต่ก็สามารถเกิดขึ้นได้เมื่อเรียกใช้สคริปต์ตามปกติ | |
16 | E_CORE_ERROR | ข้อผิดพลาดร้ายแรงในการเริ่มต้น PHP นี่เป็นเหมือนกับ E_ERROR ของ PHP core | 4 |
32 | E_CORE_WARNING | ข้อผิดพลาดที่ไม่ร้ายแรงเมื่อเริ่ม PHP นี่เป็นเหมือนกับ E_WARNING ของ PHP core | 4 |
64 | E_COMPILE_ERROR | ข้อผิดพลาดร้ายแรงในการคอมไพล์เวลา นี่เป็นเหมือนกับ E_ERROR ที่สร้างโดยเอ็นจิ้นการเขียนสคริปต์ Zend | 4 |
128 | E_COMPILE_WARNING | ข้อผิดพลาดเวลาคอมไพล์ที่ไม่ร้ายแรง นี่เป็นเหมือน E_WARNING ที่สร้างโดยเอ็นจิ้นการเขียนสคริปต์ Zend | 4 |
256 | E_USER_ERROR | ข้อผิดพลาดร้ายแรงที่ผู้ใช้สร้างขึ้น นี่เป็นเหมือนกับ E_ERROR ที่สร้างโดยโปรแกรมเมอร์โดยใช้ฟังก์ชัน PHP trigger_error() | 4 |
512 | E_USER_WARNING | ข้อผิดพลาดที่ไม่ร้ายแรงที่ผู้ใช้สร้างขึ้น นี่เป็นเหมือน E_WARNING ที่สร้างโดยโปรแกรมเมอร์โดยใช้ฟังก์ชัน PHP trigger_error() | 4 |
1,024 | E_USER_ประกาศ | การแจ้งเตือนที่ผู้ใช้สร้างขึ้น นี่เป็นเหมือนกับ E_NOTICE ที่สร้างโดยโปรแกรมเมอร์โดยใช้ฟังก์ชัน PHP trigger_error() | 4 |
2048 | E_STRICT | การแจ้งเตือนรันไทม์ PHP ขอแนะนำให้คุณทำการเปลี่ยนแปลงโค้ดของคุณเพื่อปรับปรุงการทำงานร่วมกันและความเข้ากันได้ของโค้ด | 5 |
4096 | E_RECOVERABLE_ERROR | ข้อผิดพลาดร้ายแรงที่ดักจับได้ นี่เป็นเหมือน E_ERROR ที่สามารถจับได้โดยตัวจัดการที่ผู้ใช้กำหนด (ดูที่ set_error_handler()) | 5 |
6143 | อี_ออล | ระดับข้อผิดพลาดและคำเตือนทั้งหมด ยกเว้น E_STRICT (ตั้งแต่ PHP 6.0, E_STRICT จะเป็นส่วนหนึ่งของ E_ALL) | 5 |