PHP ฟังก์ชัน Error และ Logging
- หน้าก่อนหน้า PHP Directory
- หน้าต่อไป PHP Filesystem
PHP Error นิยาย
ฟังก์ชัน Error และ Logging อนุญาตให้คุณจัดการและบันทึกข้อผิดพลาด
ฟังก์ชัน Error อนุญาตให้ผู้ใช้กำหนดกฎการจัดการข้อผิดพลาดและแก้ไขวิธีการบันทึกข้อผิดพลาด
ฟังก์ชัน logging อนุญาตให้ผู้ใช้บันทึกหลักฐานในโปรแกรม และส่งข้อความบันทึกไปยังอีเมล บันทึกระบบหรือเครื่องอื่น
ฟังก์ชัน error ใช้สำหรับการจัดการและบันทึกข้อผิดพลาด
ฟังก์ชัน error อนุญาตให้เรากำหนดกฎการจัดการข้อผิดพลาดและแก้ไขวิธีการบันทึกข้อผิดพลาด
ฟังก์ชัน logging อนุญาตให้เราส่งข้อความตรงไปยังเครื่องอื่น อีเมลหรือบันทึกระบบ
ฟังก์ชัน error reporting อนุญาตให้เราเลือกประเภทของข้อผิดพลาดและระดับ
ติดตั้ง
ฟังก์ชัน error ของ PHP คือส่วนหนึ่งของ PHP core และไม่จำเป็นต้องติดตั้งก่อนที่จะใช้
การตั้งค่า Runtime
การปฏิบัติตัวฟังก์ชัน error ได้รับผลกระทบจากการตั้งค่าใน php.ini
ตัวเลือกการตั้งค่าข้อผิดพลาดและ logging ตามต่อไปนี้:
ชื่อ | ค่าเริ่มต้น | รายละเอียด | สามารถแก้ไขได้ |
---|---|---|---|
error_reporting | NULL | ตั้งระดับการรายงานข้อผิดพลาด (ตัวเลขหรือตัวค่านาม) | PHP_INI_ALL |
display_errors | "1" |
กำหนดว่าจะแสดงข้อผิดพลาดเป็นออกอากาศหรือปิดกั้นให้ผู้ใช้ 注意:คุณไม่ควรใช้คุณสมบัตินี้ในระบบการดำเนินงาน (สนับสนุนแค่การพัฒนา) |
PHP_INI_ALL |
display_startup_errors | "0" |
แม้ว่าจะตั้งค่า display_errors ให้เป็น on แต่ข้อผิดพลาดของ PHP ในขั้นตอนเริ่มการทำงานจะไม่ถูกแสดง หมายเหตุ: แนะนำอย่างแข็งขันที่จะตั้งค่า display_startup_errors ให้เป็น off ยกเว้นเพื่อวัตถุประสงค์การแก้ไข |
PHP_INI_ALL |
log_errors | "0" |
ตั้งค่าว่าจะบันทึกข้อผิดพลาดของสคริปต์ที่ปฏิบัติการเข้าบันทึกข้อผิดพลาดของเซิร์ฟเวอร์หรือ error_log หรือไม่ หมายเหตุ: นี่เป็นการตั้งค่าเฉพาะเจ้าของเซิร์ฟเวอร์ หมายเหตุ: ในระบบการดำเนินงานของแรงงาน แนะนำอย่างแข็งขันที่คุณจะใช้บันทึกข้อผิดพลาดเพื่อบันทึกข้อมูลข้อผิดพลาดที่แสดงบนเว็บไซต์ |
PHP_INI_ALL |
log_errors_max_len | "1024" |
ตั้งค่าความยาวสูงสุดของ log_errors ในบันทึกข้อผิดพลาด ซึ่งจะเพิ่มข้อมูลเกี่ยวกับแหล่งของข้อผิดพลาด ค่าเริ่มต้นคือ 1024 หากตั้งค่าเป็น 0 แสดงว่าไม่มีจำกัดความยาว การตั้งค่าความยาวนี้มีผลบังคับต่อการบันทึกข้อผิดพลาดที่แสดงในบันทึก log และ $php_errormsg |
PHP_INI_ALL |
ignore_repeated_errors | "0" |
規定是否記錄重複的錯誤信息。 重複的錯誤必須出現在相同的文件中的同一行代碼上,除非 ignore_repeated_source 設置為 true。 |
PHP_INI_ALL |
ignore_repeated_source | "0" |
規定是否記錄重複的錯誤信息。忽略重複消息時,也忽略消息的來源。 當該設置開啟時,重複信息不會記錄它是由不同的文件還是不同的源代碼行產生的。 |
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 |
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 ทุกข้อผิดพลาดและข้อความเตือนเพื่อแนะนำ |
- หน้าก่อนหน้า PHP Directory
- หน้าต่อไป PHP Filesystem