หลังจากติดตั้ง XAMPP Control Panel บน Windows ผู้ใช้หลายคนรายงานว่าพบข้อผิดพลาดขณะเริ่ม Apache ปัญหานี้มักเกิดขึ้นเมื่อกระบวนการอย่าง World Wide Publishing Service ยังคงทำงานอยู่ที่พอร์ต 80 ของอุปกรณ์ ทำให้ Windows 11/10 ไม่อนุญาตให้ Apache server ทำงาน และก่อให้เกิดข้อผิดพลาด
5:38:38 PM [Apache] Error: Apache shutdown unexpectedly. 5:38:38 PM [Apache] This may be due to a blocked port, missing dependencies, 5:38:38 PM [Apache] improper privileges, a crash, or a shutdown by another method. 5:38:38 PM [Apache] Press the Logs button to view error logs and check 5:38:38 PM [Apache] the Windows Event Viewer for more clues 5:38:38 PM [Apache] If you need more help, copy and post this 5:38:38 PM [Apache] entire log window on the forums
จริงๆ แล้ว พอร์ต 80 บนคอมพิวเตอร์เป็นพอร์ต TCP/IP เริ่มต้นที่โมดูลของ Apache ใช้บน XAMPP และเนื่องจากแอปพลิเคชันสองตัวไม่สามารถใช้พอร์ตเครือข่ายเดียวกันได้ จึงต้องหยุดบริการนั้นก่อนจึงจะเริ่ม Apache server ของ XAMPP ได้ หากคุณก็มีปัญหานี้ บทความนี้มีวิธีแก้ไขง่ายๆ หลายวิธี
Apache เริ่มไม่ได้จาก XAMPP Control Panel
การล้าง World Wide Web Publishing Service จะเป็นวิธีที่ดีที่สุดเพื่อให้ Apache เริ่มทำงานอีกครั้ง อย่างไรก็ตาม คุณยังสามารถแก้ได้โดยการเปลี่ยนหมายเลขพอร์ต TCP/IP หรือหยุดบริการหากจำเป็น ดังนั้นเพื่อแก้ปัญหา Apache เริ่มไม่ได้บน XAMPP Control Panel ให้ทำตามวิธีต่อไปนี้:
- ล้าง World Wide Web Services
- เปลี่ยนพอร์ต TCP/IP เริ่มต้นของ Apache
- หยุด World Wide Web Publishing Service
ลองดูรายละเอียดแต่ละวิธี
1] ล้าง World Wide Web Services
เพื่อแก้ปัญหาการเริ่มต้นของบริการ Apache คุณต้องล้าง World Wide Web Services ออกจากอุปกรณ์ แต่ก่อนเริ่ม ตรวจสอบว่าไม่มีแอปใดที่อาศัยบริการนี้
หากทุกอย่างปกติ ให้เปิด Control Panel บนระบบ Windows ของคุณ
เมื่อเปิดแล้ว เลือกมุมมอง Control Panel เป็น Large icons หรือ Small icons เพื่อเห็นรายการทั้งหมด

จากรายการที่มี เลือกตัวเลือก Programs and Features
ในแถบด้านซ้าย มีลิงก์ชื่อ Turn Windows features on or off ให้คลิกที่นั่น

ในกล่องโต้ตอบ Windows Features ให้ขยายฟิลด์ Internet Information Services
ตอนนี้ ยกเลิกการเช็คกล่องที่เกี่ยวกับ World Wide Web Services แล้วคลิก OK เพื่อบันทึกการเปลี่ยนแปลง

เมื่อทำตามขั้นตอนข้างต้นเสร็จ ให้รีบูทอุปกรณ์ หลังจากนั้นเปิด XAMPP Control Panel และคลิกปุ่ม Start บน Apache มันควรจะทำงานที่พอร์ต 80 บนคอมพิวเตอร์ของคุณแล้ว
2] เปลี่ยนพอร์ต TCP/IP เริ่มต้นของ Apache
หากวิธีข้างต้นไม่ได้ผล คุณต้องกำหนดค่า Apache ให้ทำงานบนพอร์ต TCP/IP อื่น ดังนี้:
เปิด XAMPP Control Panel บนอุปกรณ์ Windows ของคุณ
คลิกปุ่ม Config ของโมดูล Apache
เลือก Apache (httpd.conf) จากเมนูป๊อปอัป

บนหน้า Notepad ที่เปิดขึ้น ให้ค้นหา Listen 80
เพื่อให้ค้นหาง่าย กด Ctrl+F ในเมนูป๊อปอัพ พิมพ์สิ่งที่ต้องการค้นหา เช็ค Wrap around ปล่อย Match case ว่าง แล้วคลิก Find Next

เมื่อเจอบรรทัดที่ต้องการ ให้เปลี่ยนหมายเลขพอร์ตเป็นตัวเลขอื่นที่คุณต้องการ
เช่น ลองใช้พอร์ต 121 ผลลัพธ์สำหรับพอร์ต TCP/IP จะเป็น Listen 121
กด Ctrl+S เพื่อบันทึกการเปลี่ยนแปลงใน Notepad
หมายเหตุ: โปรดทราบว่าขณะใช้การกำหนดค่านี้ คุณต้องเพิ่มหมายเลขพอร์ต TCP/IP ต่อท้าย URL ที่ต้องการเชื่อมต่อเสมอ ตัวอย่างเช่น เพื่อเข้าถึง Apache server บนเบราว์เซอร์ คุณต้องพิมพ์ localhost:121/dashboard แทนที่จะเป็น localhost/dashboard
หลังจากทำตามขั้นตอนข้างต้นอย่างถูกต้อง ปัญหาการเริ่มต้นของ Apache ใน XAMPP ควรจะแก้ไขได้
3] หยุด World Wide Web Publishing Service
อีกวิธีหนึ่ง คือ หยุด World Wide Web Publishing Service และเปลี่ยนการตั้งค่าให้บริการเริ่มได้เฉพาะแบบ Manual เริ่มกันเลย:
เพื่อหยุด World Wide Web Publishing Service ให้เปิด Windows Services Manager บน Windows 10 PC ของคุณก่อน
บนหน้าจอ Services ให้ค้นหาตัวเลือก World Wide Web Publishing Service ภายใต้คอลัมน์ Name
เมื่อเจอ ให้ดับเบิลคลิกเพื่อเปิดหน้าต่าง Properties
ในหน้าต่าง Properties แท็บ General จะเปิดโดยค่าเริ่มต้น
บนแท็บ General ให้หา Startup Type และเปลี่ยนเป็น Manual จะทำให้คุณเริ่มบริการด้วยตนเองเมื่อจำเป็น
ต่อไป ให้หยุดสถานะการทำงานของบริการ และคลิก Apply > OK
ตอนนี้ เปิด XAMPP Control Panel และคลิกปุ่ม Start เพื่อรัน Apache server
เพียงเท่านี้ หวังว่าคู่มือนี้จะช่วยแก้ปัญหาการเริ่มต้นของบริการ Apache บน XAMPP Control Panel ได้
