PHP สร้าง errors หลายระดับระหว่างรันไทม์ บทความนี้สอนวิธีแสดง errors และ warnings ทั้งหมด
วิธีเร็วที่สุด: เพิ่มโค้ดด้านล่างในไฟล์ PHP
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
ini_set() พยายาม override ค่าใน php.ini ถ้า display_errors ปิด จะเปิดให้ display_startup_errors แสดง error ตอนเริ่มต้น error_reporting(E_ALL) แสดงทุกประเภท error
E_ALL คืออะไร? PHP มี error หลายระดับ:
- E_ERROR: Fatal runtime error หยุดการทำงาน
- E_WARNING: Non-fatal runtime error ไม่หยุดการทำงาน
- E_PARSE: Compile-time parse error
- E_NOTICE: พบสิ่งที่อาจเป็น error
- E_CORE_ERROR: Fatal error ตอน startup
- E_CORE_WARNING: Non-fatal error ตอน startup
- E_ALL: ทุก errors และ warnings
โค้ดข้างต้นไม่แสดง parse errors (เช่น missing semicolon) ต้องแก้ php.ini:
display_errors = on
ตั้งค่า display_errors = on ใน php.ini จะแสดง error ทุกอย่างรวมถึง syntax/parse errors