PHP บทนำข้อผิดพลาด
ฟังก์ชั่นที่มีการใช้ข้อผิดพลาดในการจัดการกับข้อผิดพลาดในการจัดการและการเข้าสู่ระบบ
ฟังก์ชั่นข้อผิดพลาดช่วยให้เราสามารถกำหนดกฎจัดการข้อผิดพลาดของตัวเองและปรับเปลี่ยนวิธีการข้อผิดพลาดที่สามารถลงทะเบียน
ฟังก์ชั่นการเข้าสู่ระบบช่วยให้เราสามารถส่งข้อความโดยตรงไปยังเครื่องอื่น ๆ อีเมลหรือบันทึกของระบบ
ฟังก์ชั่นการรายงานข้อผิดพลาดช่วยให้เราสามารถปรับแต่งสิ่งที่ระดับและชนิดของข้อมูลที่ผิดพลาดจะได้รับ
การติดตั้ง
ฟังก์ชั่นข้อผิดพลาด PHP เป็นส่วนหนึ่งของหลัก PHP การติดตั้งไม่จำเป็นต้องใช้ฟังก์ชั่นเหล่านี้
Runtime การกำหนดค่า
ลักษณะการทำงานของฟังก์ชั่นข้อผิดพลาดจะได้รับผลกระทบจากการตั้งค่าใน php.ini
ข้อผิดพลาดและตัวเลือกการกำหนดค่าการเข้าสู่ระบบ:
ชื่อ | ค่าเริ่มต้น | ลักษณะ | เปลี่ยนแปลงได้ |
---|---|---|---|
error_reporting | โมฆะ | ตั้งค่าระดับการรายงานข้อผิดพลาด (ทั้งจำนวนเต็มหรือค่าคงที่ชื่อ) | 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 ไบต์ ค่า "0" สามารถใช้ในการไม่ใช้ความยาวสูงสุดใด ๆ เลย ความยาวนี้จะนำไปใช้กับข้อผิดพลาดลงทะเบียนแสดงข้อผิดพลาดและยัง $ php_errormsg (available since PHP 4.3) | PHP_INI_ALL |
ignore_repeated_errors | "0" | ระบุว่าการเข้าสู่ระบบข้อความผิดพลาดซ้ำแล้วซ้ำอีก เมื่อตั้งค่าเป็น "1" มันจะไม่เข้าสู่ระบบข้อผิดพลาดกับข้อผิดพลาดซ้ำแล้วซ้ำอีกจากไฟล์เดียวกันในบรรทัดเดียวกัน (available since PHP 4.3) | PHP_INI_ALL |
ignore_repeated_source | "0" | ระบุว่าการเข้าสู่ระบบข้อความผิดพลาดซ้ำแล้วซ้ำอีก เมื่อตั้งค่าเป็น "1" มันจะไม่เข้าสู่ระบบข้อผิดพลาดกับข้อผิดพลาดซ้ำแล้วซ้ำอีกจากไฟล์หรือเส้นแหล่งที่มาที่แตกต่างกัน (available since PHP 4.3) | PHP_INI_ALL |
report_memleaks | "1" | ถ้าตั้งค่าเป็น "1" (the default) พารามิเตอร์นี้จะแสดงรายงานการรั่วไหลของหน่วยความจำที่ตรวจพบโดยจัดการหน่วยความจำ Zend (available since PHP 4.3) | PHP_INI_ALL |
track_errors | "0" | ถ้าตั้งค่าเป็น "1" เกิดข้อผิดพลาดที่ผ่านมามักจะถูกนำเสนอใน $ php_errormsg ตัวแปร | PHP_INI_ALL |
html_errors | "1" | ปิดแท็ก HTML ในข้อความผิดพลาด | PHP_INI_ALL PHP_INI_SYSTEM ใน PHP <= 4.2.3 |
xmlrpc_errors | "0" | ปิดการรายงานข้อผิดพลาดปกติและรูปแบบข้อผิดพลาดเป็นข้อผิดพลาด XML-RPC (available since PHP 4.1) | PHP_INI_SYSTEM |
xmlrpc_error_number | "0" | ใช้เป็นค่าขององค์ประกอบ XML-RPC faultCode ที่ (available since PHP 4.1) | PHP_INI_ALL |
docref_root | "" | (ใช้ได้ตั้งแต่ PHP 4.3) | PHP_INI_ALL |
docref_ext | "" | (ใช้ได้ตั้งแต่ PHP 4.3.2) | PHP_INI_ALL |
error_prepend_string | โมฆะ | ระบุสตริงเพื่อส่งออกก่อนที่จะเกิดข้อผิดพลาด | PHP_INI_ALL |
error_append_string | โมฆะ | ระบุสตริงเพื่อส่งออกหลังจากข้อผิดพลาด | PHP_INI_ALL |
บันทึกข้อผิดพลาด | โมฆะ | ระบุชื่อของไฟล์ที่ข้อผิดพลาดสคริปต์ควรจะลงทะเบียน ไฟล์ที่ควรจะเขียนได้โดยผู้ใช้เว็บเซิร์ฟเวอร์ ถ้า syslog ค่าพิเศษมีการใช้ข้อผิดพลาดจะถูกส่งไปตัดไม้ของระบบแทน | PHP_INI_ALL |
PHP ข้อผิดพลาดในการบันทึกข้อมูลและฟังก์ชั่น
ฟังก์ชัน | ลักษณะ |
---|---|
debug_backtrace() | สร้างการติดตามย้อนหลัง |
debug_print_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 | คำเตือนเวลาทำงาน (non-fatal errors) การทำงานของสคริปต์ไม่ได้หยุด |
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 โดยใช้ฟังก์ชัน PHP trigger_error() |
512 | E_USER_WARNING | เตือนผู้ใช้สร้างที่ไม่ร้ายแรง นี้เป็นเหมือน E_WARNING, ยกเว้นว่ามันจะถูกสร้างขึ้นในโค้ด PHP โดยใช้ฟังก์ชัน PHP trigger_error() |
1024 | E_USER_NOTICE | แจ้งให้ทราบล่วงหน้าที่ผู้ใช้สร้าง นี้เป็นเหมือน E_NOTICE แต่มันถูกสร้างขึ้นในโค้ด PHP โดยใช้ฟังก์ชัน PHP trigger_error() |
2048 | E_STRICT | เปิดใช้งานจะมี PHP แนะนำการเปลี่ยนแปลงรหัสของคุณซึ่งจะช่วยให้การทำงานร่วมกันที่ดีที่สุดและการทำงานร่วมกันไปข้างหน้าของรหัสของคุณ (ตั้งแต่ PHP 5 แต่ไม่รวมอยู่ใน E_ALL จนกว่า PHP 5.4) |
4096 | E_RECOVERABLE_ERROR | ข้อผิดพลาดร้ายแรง catchable แสดงให้เห็นว่าข้อผิดพลาดที่เกิดขึ้นอาจจะเป็นอันตราย แต่ไม่ได้ออกจากเครื่องยนต์ในสถานะที่ไม่เสถียร ถ้าข้อผิดพลาดไม่ได้ถูกจับโดยจับที่ผู้ใช้กำหนดโปรแกรมประยุกต์ที่ถูกยกเลิกขณะที่มันเป็น E_ERROR (Since PHP 5.2) |
8192 | E_DEPRECATED | ประกาศเวลาทำงาน เปิดใช้งานนี้จะได้รับการเตือนเกี่ยวกับรหัสที่จะไม่ทำงานในรุ่นอนาคต (Since PHP 5.3) |
16384 | E_USER_DEPRECATED | ข้อความแจ้งเตือนผู้ใช้สร้างขึ้น นี้เป็นเหมือน E_DEPRECATED, ยกเว้นว่ามันจะถูกสร้างขึ้นในโค้ด PHP โดยใช้ฟังก์ชัน PHP trigger_error() (ตั้งแต่ PHP 5.3) |
32767 | E_ALL | เปิดใช้งานข้อผิดพลาดทั้งหมดของ PHP และคำเตือน (except E_STRICT in versions < 5.4) |