XAMPP ใช้ไม่ได้บน Windows 10? วิธีแก้ Apache เปิดไม่ขึ้น MySQL Start ไม่ได้ และ localhost เข้าไม่ได้
หากคุณใช้ XAMPP บน Windows 10 แล้วพบว่า Apache เปิดไม่ขึ้น, MySQL Start ไม่ได้, เข้า localhost ไม่ได้, phpMyAdmin เปิดไม่ติด หรือขึ้นข้อความ Apache shutdown unexpectedly และ MySQL shutdown unexpectedly ปัญหาเหล่านี้มักเกิดจากพอร์ตชนกับโปรแกรมอื่น การตั้งค่าผิด หรือไฟล์ระบบเสียหาย
บทความนี้รวบรวมวิธีแก้ XAMPP ใช้ไม่ได้บน Windows 10 แบบเป็นขั้นตอน เหมาะสำหรับผู้ที่พัฒนาเว็บไซต์ด้วย PHP, MySQL, Laravel และ WordPress
XAMPP คืออะไร
XAMPP เป็นชุดโปรแกรมสำหรับจำลอง Web Server บนเครื่องคอมพิวเตอร์ ประกอบด้วย
Apache
PHP
MariaDB หรือ MySQL
phpMyAdmin
FileZilla (บางเวอร์ชัน)
Mercury Mail
Tomcat (บางเวอร์ชัน)
เหมาะสำหรับการพัฒนาเว็บไซต์ก่อนนำขึ้นเซิร์ฟเวอร์จริง
อาการที่พบบ่อย
Apache เปิดไม่ขึ้น
MySQL เปิดไม่ขึ้น
localhost เข้าไม่ได้
phpMyAdmin เปิดไม่ได้
Apache shutdown unexpectedly
MySQL shutdown unexpectedly
Port 80 ถูกใช้งาน
Port 443 ถูกใช้งาน
Port 3306 ถูกใช้งาน
หน้าเว็บ Error 403 หรือ 404
สาเหตุที่พบบ่อย
IIS ใช้งานพอร์ต 80
Skype หรือโปรแกรมอื่นใช้พอร์ต 80 หรือ 443
MySQL ตัวอื่นใช้พอร์ต 3306
Firewall บล็อก Apache
ไฟล์ Config เสียหาย
XAMPP ไม่มีสิทธิ์เพียงพอ
Antivirus บล็อกไฟล์
PHP Config ผิดพลาด
วิธีแก้ XAMPP ใช้ไม่ได้บน Windows 10
① เปิด XAMPP ด้วยสิทธิ์ผู้ดูแลระบบ
คลิกขวา
XAMPP Control Panel
เลือก
Run as administrator
ช่วยลดปัญหาเกี่ยวกับ Permission
② ตรวจสอบ Apache
กด Start ที่ Apache
หากหยุดทันที ให้กดปุ่ม
Logs
เพื่อตรวจสอบข้อความ Error
③ ตรวจสอบ MySQL
กด Start ที่ MySQL
หากหยุดทันที ให้เปิด
MySQL Log
เพื่อตรวจสอบสาเหตุ
④ ตรวจสอบพอร์ต 80
เปิด Command Prompt
netstat -ano | findstr :80
หากมีโปรแกรมอื่นใช้งานอยู่ Apache จะเปิดไม่ได้
⑤ ตรวจสอบพอร์ต 443
netstat -ano | findstr :443
หากพอร์ต HTTPS ถูกใช้งาน ควรปิดโปรแกรมที่ใช้พอร์ตดังกล่าว หรือเปลี่ยนพอร์ต Apache
⑥ ตรวจสอบพอร์ต 3306
netstat -ano | findstr :3306
หาก MySQL ตัวอื่นกำลังทำงาน XAMPP จะไม่สามารถเปิด MySQL ได้
⑦ ตรวจสอบ IIS
เปิด
services.msc
ค้นหา
World Wide Web Publishing Service
IIS Admin Service
หากใช้งานอยู่ อาจต้องหยุดบริการก่อนใช้ Apache ของ XAMPP
⑧ เปลี่ยนพอร์ต Apache
เปิดไฟล์
httpd.conf
เปลี่ยน
Listen 80
เป็น
Listen 8080
และเปลี่ยน
ServerName localhost:80
เป็น
ServerName localhost:8080
จากนั้นเปิดเว็บไซต์ผ่าน
http://localhost:8080
⑨ เปลี่ยนพอร์ต HTTPS
เปิดไฟล์
httpd-ssl.conf
เปลี่ยน
443
เป็น
444
หรือพอร์ตที่ยังไม่ถูกใช้งาน
⑩ เปลี่ยนพอร์ต MySQL
เปิดไฟล์
my.ini
เปลี่ยน
3306
เป็น
3307
จากนั้นแก้ phpMyAdmin และเว็บไซต์ให้ใช้พอร์ตเดียวกัน
⑪ ตรวจสอบ localhost
เปิด Browser
เข้า
http://localhost
หากเปลี่ยนพอร์ต
http://localhost:8080
⑫ ตรวจสอบ phpMyAdmin
เปิด
http://localhost/phpmyadmin
หากใช้พอร์ตใหม่
http://localhost:8080/phpmyadmin
⑬ ตรวจสอบโฟลเดอร์ htdocs
เว็บไซต์ควรอยู่ภายใน
xampp\htdocs
หากวางผิดตำแหน่ง Apache จะหาไฟล์ไม่พบ
⑭ ตรวจสอบไฟล์ Index
ภายในเว็บไซต์ควรมีไฟล์ เช่น
index.php
หรือ
index.html
หากไม่มี Browser อาจแสดง Directory Listing หรือ Error
⑮ ตรวจสอบ PHP
เปิด
http://localhost/dashboard/phpinfo.php
หรือสร้างไฟล์
<?php
phpinfo();
เพื่อทดสอบว่า PHP ทำงานหรือไม่
⑯ ตรวจสอบ Firewall
Firewall อาจบล็อก Apache
อนุญาต Apache เฉพาะเครือข่ายที่จำเป็น
⑰ ตรวจสอบ Antivirus
Antivirus บางตัวอาจกักกัน
Apache
PHP
MySQL
XAMPP
ตรวจสอบประวัติการกักกันก่อนติดตั้งใหม่
⑱ ตรวจสอบไฟล์ Config
หากแก้ไข
httpd.conf
php.ini
my.ini
แล้วเกิดปัญหา ควรตรวจสอบ Syntax และสำรองไฟล์ก่อนแก้ไขทุกครั้ง
⑲ ติดตั้ง XAMPP ใหม่
หากไฟล์เสียหายและแก้ไม่ได้
สำรองเว็บไซต์
สำรองฐานข้อมูล
ถอนการติดตั้ง
ติดตั้ง XAMPP ใหม่
ไม่ควรถอนโปรแกรมก่อนสำรองข้อมูลทั้งหมด
⑳ อัปเดต Windows
ติดตั้ง Windows Update
รีสตาร์ตเครื่อง แล้วทดลองเปิด XAMPP ใหม่
วิธีแก้ Error ที่พบบ่อย
Apache shutdown unexpectedly
ตรวจสอบ
Port 80
Port 443
httpd.conf
Firewall
Apache Log
MySQL shutdown unexpectedly
ตรวจสอบ
Port 3306
my.ini
MySQL Log
Data Directory
localhost เข้าไม่ได้
ตรวจสอบว่า Apache ทำงานอยู่ และใช้พอร์ตถูกต้อง
phpMyAdmin เปิดไม่ได้
ตรวจสอบว่า
Apache ทำงาน
MySQL ทำงาน
Port ถูกต้อง
Port 80 in use
หยุดโปรแกรมที่ใช้พอร์ต หรือเปลี่ยน Apache เป็นพอร์ตอื่น
วิธีป้องกันปัญหา XAMPP
เปิด XAMPP แบบผู้ดูแลระบบ
สำรองเว็บไซต์และฐานข้อมูลเป็นประจำ
ไม่ติดตั้ง Web Server หลายตัวใช้พอร์ตเดียวกัน
อัปเดต XAMPP และ PHP เมื่อเหมาะสม
ตรวจสอบ Apache และ MySQL Log เมื่อเกิดปัญหา
สำรองไฟล์ Config ก่อนแก้ไข
คำถามที่พบบ่อย (FAQ)
XAMPP ใช้ MySQL หรือ MariaDB
ขึ้นอยู่กับเวอร์ชันของ XAMPP ที่ติดตั้ง บางเวอร์ชันใช้ MariaDB แทน MySQL
เปลี่ยนพอร์ต Apache ได้หรือไม่
ได้ โดยแก้ไข httpd.conf และเปิดเว็บไซต์ผ่านพอร์ตใหม่
XAMPP ใช้สำหรับเว็บไซต์จริงได้หรือไม่
ไม่แนะนำ เพราะ XAMPP ถูกออกแบบมาสำหรับการพัฒนาและทดสอบเป็นหลัก ควรใช้ Web Server ที่เหมาะกับ Production เมื่อเผยแพร่เว็บไซต์จริง
XAMPP ใช้งานฟรีหรือไม่
XAMPP เป็นซอฟต์แวร์โอเพนซอร์สและสามารถใช้งานได้ฟรีตามเงื่อนไขของผู้พัฒนา
สรุป
ปัญหา XAMPP ใช้ไม่ได้บน Windows 10 ส่วนใหญ่มักเกิดจาก Apache หรือ MySQL เปิดไม่ขึ้น เพราะพอร์ตชนกับโปรแกรมอื่น ไฟล์ Config ผิด หรือ Firewall บล็อกการทำงาน ควรเริ่มจากตรวจสอบ Port, Log และ Service ก่อนดำเนินการติดตั้งใหม่
ทีม comsiam แนะนำให้สำรองเว็บไซต์และฐานข้อมูลก่อนแก้ไขไฟล์ Config หรืออัปเดต XAMPP ทุกครั้ง เพื่อลดความเสี่ยงในการสูญหายของข้อมูล นอกจากนี้ comsiam ยังแนะนำให้ตรวจสอบ Apache Log และ MySQL Log เป็นอันดับแรก เพราะช่วยระบุสาเหตุของปัญหาได้รวดเร็วที่สุด