คำตอบสั้น ๆ: ใช้ Log Browser ของ Plesk และไฟล์ Log ของ Apache, nginx และ PHP หาสาเหตุของ Error 500, 502, 403 และหน้าเว็บขาว พร้อมวิธีอ่านบรรทัด Log ให้เข้าใจ
คู่มือนี้อธิบาย Plesk ทีละขั้นตอน พร้อมคำสั่งที่ใช้ได้จริงและปัญหาที่พบบ่อย
เมื่อเว็บไซต์ขึ้น Error 500 Internal Server Error, 502 Bad Gateway, 403 Forbidden หรือแสดงหน้าขาวโดยไม่มีข้อความ หน้าเว็บมักไม่บอกสาเหตุที่แท้จริงเพื่อความปลอดภัย แต่เว็บเซิร์ฟเวอร์จะบันทึกรายละเอียดไว้ใน Log เสมอ การอ่าน Log เป็นวิธีที่เร็วที่สุดในการรู้ว่าไฟล์ใด บรรทัดใด หรือกฎใดทำให้เกิดปัญหา
บน Plesk สำหรับ Linux เว็บไซต์ทั่วไปทำงานผ่าน nginx ที่อยู่ด้านหน้า ส่งต่อไปยัง Apache และ PHP-FPM แต่ละชั้นมี Log ของตัวเอง บทความนี้อธิบายการดู Log ผ่านหน้าจอ Plesk และผ่าน SSH พร้อมตารางว่า Error แบบไหนควรดู Log ใด
สิ่งที่ต้องเตรียม
- บัญชีเข้า Plesk Obsidian ของเว็บไซต์
- (ไม่บังคับ) สิทธิ์ SSH หรือ FTP ถ้าต้องการเปิดไฟล์ Log โดยตรง
- เวลาโดยประมาณที่เกิดปัญหา และ URL ของหน้าที่มีปัญหา ช่วยให้ค้นหาใน Log ได้เร็ว
ขั้นตอนที่ 1: เปิด Log Browser ใน Plesk
- ไปที่ Websites & Domains เลือกโดเมนที่ต้องการ
- กด Logs (ในบางมุมมองอยู่ในแถบเครื่องมือของโดเมน หรือเมนูสามจุด)
- จะเห็นรายการ Log ล่าสุด เรียงจากใหม่ไปเก่า แต่ละบรรทัดมีเวลา แหล่งที่มา (Source) และข้อความ
เครื่องมือที่ช่วยให้หาเร็วขึ้น
- ตัวกรองประเภท: เลือกแสดงเฉพาะ Apache error, nginx error, Apache access, nginx access หรือ PHP-FPM error ตามที่มีในเซิร์ฟเวอร์ เมื่อหาสาเหตุ Error ให้เลือกเฉพาะ Log ประเภท error ก่อน
- ช่องค้นหา: พิมพ์คำ เช่น ชื่อไฟล์
functions.phpหรือ IP ของคุณ - การอัปเดตแบบ Real-time: เปิดไว้แล้วลองโหลดหน้าเว็บที่มีปัญหาในอีกแท็บ จะเห็นบรรทัด Error ใหม่ขึ้นมาทันที
ขั้นตอนที่ 2: เลือก Log ให้ตรงกับอาการ
| อาการ | Log ที่ควรดู | สิ่งที่มักพบ |
|---|---|---|
| 500 Internal Server Error หรือหน้าขาว | Apache error (error_log) และ PHP-FPM error | PHP Fatal error, คำสั่งผิดใน .htaccess, หน่วยความจำไม่พอ |
| 502 Bad Gateway | nginx error (proxy_error_log) | PHP-FPM หรือ Apache ไม่ตอบ, upstream prematurely closed connection |
| 504 Gateway Time-out | nginx error (proxy_error_log) | upstream timed out สคริปต์ทำงานนานเกินกำหนด |
| 403 Forbidden | Apache error | สิทธิ์ไฟล์ไม่ถูกต้อง, ไม่มีไฟล์ index, ModSecurity บล็อก |
| 404 เฉพาะบางหน้า | access log (access_ssl_log) | URL ที่ถูกเรียกจริง และ Rewrite ที่ไม่ทำงาน |
| เว็บช้าหรือถูกยิง Request จำนวนมาก | access log | IP หรือ Bot ที่เรียกซ้ำจำนวนมาก |
ขั้นตอนที่ 3: อ่านบรรทัด Log
ตัวอย่าง PHP Fatal error ใน error log
[Sat Sep 19 10:15:32.123456 2026] [proxy_fcgi:error] [pid 12345] [client 198.51.100.7:52110] AH01071: Got error 'PHP message: PHP Fatal error: Uncaught Error: Call to undefined function wc_get_product() in /var/www/vhosts/example.com/httpdocs/wp-content/themes/mytheme/functions.php:120'
อ่านได้ว่า ไฟล์ functions.php ของธีม บรรทัดที่ 120 เรียกฟังก์ชันของ WooCommerce ขณะที่ปลั๊กอินนั้นไม่ได้เปิดใช้งาน วิธีแก้คือเปิดปลั๊กอินกลับมา หรือแก้โค้ดบรรทัดนั้น
ตัวอย่างหน่วยความจำไม่พอ
PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes)
134217728 bytes คือ 128 MB ให้เพิ่ม memory_limit ตาม ปรับค่า PHP (memory_limit, max_execution_time) บน Plesk
ตัวอย่างบรรทัดใน access log
198.51.100.7 - - [19/Sep/2026:10:15:32 +0700] "POST /wp-login.php HTTP/2.0" 200 4520 "-" "Mozilla/5.0 ..."
ส่วนประกอบคือ IP ผู้เรียก, เวลา, Method และ URL, HTTP Status (200), ขนาดข้อมูลที่ส่งกลับ, Referer และ User-Agent