Khắc phục lỗi XAMPP không khởi động được
Lưu ý bài viết này chỉ dành cho các bạn đã biết về XAMPP nhé (hoặc những phần mềm cùng tính năng như Appserv, WAMP,…), còn bạn nào chưa biết thì xem Wikipedia cho biết…
“Tại sao XAMPP không khởi động được?”
Làm lập trình web thì hẳn ai cũng phải gặp cái tình huống khó chịu này: XAMPP không khởi động được.
Rõ ràng bạn đang sử dụng XAMPP rất ư là bình thường, máy chạy chậm quá, thôi thì cài lại win đi… Cài xong hí hửng chạy XAMPP và…
Hình trên là thông báo Apache khởi động thất bại, nội dung thông báo cũng rất là chung chung: “Apache bị tắt bất ngờ, chắc là port nào đó bị chặn, bị chiếm, bị thiếu quyền truy cập, bị tạch hay cũng có thể bị thằng khác rút dây điện…”
Bạn điên cuồng bấm nút Start nhưng càng bấm nó càng đỏ lòm Bạn bắt đầu chú ý đến nội dung thông báo, đặc biệt là đoạn “port bị chặn” (vì chỉ có mình nó là dễ hiểu nhất), liền lên google sục sạo tìm kiếm các thể loại như “làm sao biết port nào bị chặn”, “làm sao biết chương trình nào đang sử dụng port xx”,… và down về một mớ phần mềm kiểm tra theo dõi lung tung beng!
Kết quả là không có kết quả nào.
Cuối cùng, với kinh nghiệm nhiều lần ăn hành vì XAMPP, cũng như la liếm khắp nơi trên google để tìm câu trả lời (bao gồm cả cái quá trình quằn quại ở trên), mình đã (tự) phát hiện và đúc kết ra được một số trường hợp dẫn đến lỗi này (kỳ công lắm chứ ko đơn giản đâu nha ).
1. Skype
Đây là trường hợp thường gặp nhất. Apache mặc định hoạt động trên port 80 (hoạt động thế nào thì mình ko rõ vì hồi đó ăn hên được 8 điểm môn Mạng Máy Tính ), và Skype cũng vậy. Mà thằng Skype thì lại mặc định khởi động trước nên nghiễm nhiên nó chiếm cổng 80 trước luôn (đoán vậy). XAMPP tới sau nên chỉ có thể ngậm ngùi hít khói mà thôi.
Có 2 cách giải quyết, đó là đổi port của XAMPP hoặc đổi port của Skype. Nghe nói 80 là port “truyền thống” của web cho nên mình sẽ tôn trọng truyền thống, bẻ thằng trai tân Skype đi hướng khác.
Khởi động Skype, vào menu Tools > Options hoặc tổ hợp phím Ctrl + , (dấu phẩy) để mở giao diện cài đặt của Skype.
Chọn tab Advanced > Connection, bỏ check dòng “Use port 80 and 443 for additional incoming connections”.
Bấm Save và khởi động lại Skype là xong.
2. Microsoft SQL Server
Đối với các bạn lập trình C++, C#, VB.NET, ASP.NET,… thì thường có cài thêm MS SQL Server để lưu trữ dữ liệu, và bản thân thằng này cũng là một trong những nguyên nhân bóp cổ không cho XAMPP khởi động.
Mở giao diện SQL Server Configuration Manager (vào START gõ chữ “sql” là thấy – Windows 7, 8. Còn Windows XP thì chịu khó kiếm trong START > Program Files), chọn mục SQL Server Services bên trái, danh sách các mục con hiện ra bên phải, chọn stop dòng “SQL Server Reporting Services”.
Để chắc ăn thì nên vào properties ngăn nó chạy lúc khởi động máy luôn. Việc này có ảnh hưởng gì tới SQL Server ko thì mình ko dám chắc, vì tốt nghiệp xong là hết muốn nhìn mấy món của các Bill rồi.
3. Internet Information Services (IIS)
IIS là chương trình tạo webserver của Microsoft, chức năng giống như XAMPP, nhưng hỗ trợ chủ yếu cho những đứa con của các Bill (ASP, ASP.NET,…), muốn chạy PHP cũng được nhưng phải cấu hình thêm chút… nói chung là mang tính chất ăn ké cho nên mình ko hảo lắm, tội gì ăn ké khi mà XAMPP ra đời để nuôi PHP trên Windows.
Do lúc đi học có môn lập trình web bằng ASP.NET cho nên mình có cài IIS để làm webserver. Và vì nó mang tính chất đồng loại với XAMPP nên nó cũng chiếm luôn cái port 80, làm XAMPP lại ngậm ngùi hít khói như ngày gặp gỡ Skype. :-<
Mở giao diện cấu hình IIS lên (vào START gõ “iis” là thấy, nếu không thấy thì mò như trong Windows XP nói trên), stop dịch vụ của IIS đi, chặn nó khởi động cùng windows cũng được, chừng nào cần xài thì hãy mở lên.
4. VMWare Workstation
@Cảm ơn comment của bạn Fabien Zet
Nếu bạn đang sử dụng chương trình tạo máy ảo VMWare Workstation thì cũng có thể gặp vấn đề khởi động XAMPP, do VMWare đã sử dụng port 80 và 443 vào việc chia sẻ dữ liệu giữa máy thật và máy ảo, nên XAMPP nghiễm nhiên trở thành “trâu chậm uống nước đục”. Cách khắc phục: (tham khảo superuser.com)
Mở VMWare, vào menu Edit → Preferences → Shared VMs → click DISABLE SHARING
5. Còn gì nữa không?
Trên đây là 3(+1) trường hợp mình đã gặp khi sử dụng XAMPP. Có lần dùng WAMP cũng bị tương tự, giải quyết y chang, bởi vì nó đều xoay quanh port 80 thôi. Còn bạn nào gặp trường hợp khác, comment dưới đây để mình bổ sung thêm nhé Dạo các group PHP trên Facebook, trung bình 3 ngày là có 1 người hỏi về cái vụ này, tức cảnh sinh tình viết luôn một bài dài dòng để dành mốt quăng link qua cho lẹ đỡ mất công gõ comment.
Ngoài ra thì nếu cài máy ảo VMWare trước, nhiều nguy cơ cũng sẽ không khởi chạy được apache vì mặc định nó ôm port 443 rồi
Thanks bạn, để mình update thêm
Bạn ơi mình cũng bị lỗi Xampp không khởi động được, nhưng mà mình không dùng mấy chương trình trên… thế là tại chỗ nào được bạn?
Bạn chụp ảnh màn hình lại nội dung lỗi giúp mình nhé, xem có giống như hình trong bài viết ko?
Mình cũng bị lỗi này nhưng mình không dùng mấy cái trên, là tại đâu ta?
Bạn up ảnh chụp màn hình lên mình xem thử nhé
thông báo lỗi cũng giống như hình ban đầu của bạn ở trên í, mò sửa một hồi, máy kêu tiếng bíp, lo quá thế là mình gỡ nó ra luôn, đến hôm nay mình vẫn chưa cài lại được luôn nè
Sao ai cài win8 cũng bị lỗi nhỉ
hay lắm bài viết ơi
chào bạn, của mình lỗi giống hệt bạn, đã tắt IIS ngoài ra không dùng gì cả, tuy nhiên vẫn không được bạn ạ
Bạn có thể cho mình biết trong máy của bạn có cài những phần mềm nào không?
Mod xem dùm mình cái lỗi này với ? Thanks bạn trước nhé !
Mình muốn hỏi thêm điều nữa là liệu Xampp này tương tác với Windows 8.1 này ntn ? Và mình gỡ Xampp đi cài lại có ảnh hưởng gì đến hệ thống windows 8.1 không . Mới dùng nên tư liệu tìm trên google không ra kết quả ….
Bạn kiểm tra xem trong windows apps bạn có cài đặt Skype ko nhé (Skype cho Windows 8, giao diện cảm ứng Metro).
Còn về windows 8.1 tương thích thì bạn mình vẫn dùng bình thường, ko ảnh hưởng gì cả nhé.
Mình có cài skype và đổi cổng cho xampp như trên rồi mà đâu thấy hiệu quả đâu ? Vẫn không vào được mà ….
mình cũng bị tương tự như bạn. cũng bị lỗi như vậy. mình mới cài lại win 8.1 k hiểu sao vẫn bị lỗi
Dùng Xampp ấy đổi port sang 70 . Gõ severname là localhost:70 là connect như bình thường . Nếu có demo web vẫn vứt vào ổ C:/wampp/www/…
Mình cũng bị giống như các bạn ở trên đã thử hết các cách thì mới phát hiện chưa thực hiện bước 2.
Vì win8 nó hơi khác.
các bạn đánh services.msc rồi tìm đến dòng sql server reporting services rồi nhấn stop là được.
chúc các bạn thành công
Mình cái xong rồi mà nó hiện lên mấy cái dấu x màu đỏ như hình ak?vậy có gọi là Xampp cài đúng hok ad
Mình bị vậy làm sao khắc phục vậy bạn?
Bạn đã khắc phục được chưa ? Mình nhìn qua thì mình chưa từng bị lỗi ntn bao giờ cả . Bạn lên diễn đàn daynhauhoc.com rồi post bài để hỏi nhé !
Bạn ơi cho mình hỏi với, mình cũng đã chỉnh lại skyper như bạn nói, mấy khi mình dùng win7 cài bình thường, nay mình đổi máy mới cài win 8 nhưng mình không cài được Xampp bạn ơi. Còn mấy trường hợp còn lại máy mình chưa cài, bạn có thể xem giúp mình với nhé. Dưới đây là hình ảnh mình chụp được. Cảm ơn bạn trước nhé.
cảm ơn bạn nhiều. minh loay hoay mãi. nhờ có bài viết của bạn mình sửa được rồi. thank you
mình coppy xampp xong sao k mở dk cổng xampp nữa