XAMPP: Không thể khởi động Apache (Windows 10)


89

Tôi đang sử dụng XAMPP và tôi có thể khởi động Apache, nhưng MySQL ( phpMyAdmin ) hãy bắt đầu!

Khi tôi bắt đầu, tôi gặp lỗi này;

10:07:49 [Apache] Error: Apache shutdown unexpectedly.
10:07:49 [Apache] This may be due to a blocked port, missing dependencies,
10:07:49 [Apache] improper privileges, a crash, or a shutdown by another method.
10:07:49 [Apache] Press the Logs button to view error logs and check
10:07:49 [Apache] the Windows Event Viewer for more clues
10:07:49 [Apache] If you need more help, copy and post this
10:07:49 [Apache] entire log window on the forums

Tôi tìm kiếm trên đó và thay đổi cổng của Apache trong Cài đặt cấu hình -> Dịch vụ và Cổng. Tôi có;

Service name: Apache 2.4
Main port: 122
SSL port: 444

Tôi cũng gỡ cài đặt Skype (phiên bản Windows 8/10 / Metro). Không có gì hoạt động. Trong tệp httpd.conf tôi có;

Listen 122
ServerName localhost:122

Tôi bắt đầu nó thông qua apache_start.batvà nhận được;

(OS 10013)An attempt was made to access a socket in a way forbidden by its access permissions.  : AH00072: make_sock: could not bind to address [::]:445
(OS 10013)An attempt was made to access a socket in a way forbidden by its access permissions.  : AH00072: make_sock: could not bind to address 0.0.0.0:445
AH00451: no listening sockets available, shutting down
AH00015: Unable to open logs

Xin lưu ý rằng tất cả các tệp nhật ký không tồn tại! Skype đã được gỡ cài đặt.


Bạn đã kiểm tra xem cổng có bị chặn không?
Rizier123

1
Hãy thử chạy với tư cách quản trị viên
nonamorando

3
Bạn có đang chạy skype khi cố kích hoạt apache không? Nếu vậy thay đổi cài đặt skype.
iSaumya

3
Bạn không thể có localhost:80và lắng nghe cổng 122. Chọn cổng để nghe.
Lorenz Meyer

Ok, tôi đã thực hiện một số sửa đổi: @ Rizier123 -> Tôi kiểm tra nhưng không chắc đó có phải là cách tốt hay không. @ Will-Campbell -> Có, nhưng không có gì hơn. @iSaumya -> Skype không có trên máy tính của tôi. @ Lorenz-Meyer -> Tôi hiện có Listen 122ServerName localhost:122
Félix Desjardins

Câu trả lời:


223

Cập nhật: ngày 15 tháng 5 năm 2018:

Bản cập nhật Windows 10 mới nhất (lại) đã kích hoạt Dịch vụ Xuất bản Web Toàn cầu (bằng tiếng Đức: WWW-Publishingdienst ). Điều này có thể phụ thuộc vào các tùy chọn bạn chọn trong quá trình cấu hình bản cập nhật mà bạn có thể thực hiện sau đó.

Cập nhật: ngày 4 tháng 8 năm 2015:

Nếu bạn đã thực hiện cài đặt sạch Windows 10, bạn có thể không có Dịch vụ xuất bản Web rộng rãi . Trong trường hợp đó, cài đặt WAMP / XAMPP đơn giản sẽ hoạt động tốt.

Nếu không, hãy thử cài đặt Visual C ++ Redistributable rồi cài đặt lại WAMP / XAMPP.


Tôi đã gặp sự cố tương tự với WAMP. Trong Windows 10 TP, Word Wide Web Publishing Service được cài đặt sẵn. Điều này có liên quan đến IIS và bạn có thể gỡ bỏ nó nếu không cần.

Điều này chặn cổng 80, làm cho Apache hoạt động kỳ lạ. Bạn có thể làm như sau và thử lại.

  • Đi tới Bắt đầu, nhập services.msc
  • Cuộn xuống trong cửa sổ Dịch vụ để tìm Dịch vụ Xuất bản Web Toàn cầu .
  • Nhấp chuột phải vào nó và chọn Dừng .

Điều này sẽ làm cho cổng 80 trống và việc khởi động lại WAMP / XAMPP sẽ giúp bạn bắt đầu và chạy!

Có những cách khác để khắc phục điều này. Xem Làm cho WAMP hoạt động trên Windows 10 .


7
Điều gì sẽ xảy ra nếu tôi không có "Dịch vụ xuất bản trên toàn thế giới" như một dịch vụ được liệt kê?
Xtremefaith,

6
Các tên của dịch vụ là W3SVC trong khi mô tảWorld Wide Web Publishing Service . Ban đầu tôi không nghĩ rằng mình có dịch vụ vì tôi không thấy dịch vụ được mô tả khi sắp xếp theo tên.
Jake Z

1
Đúng vậy, tôi cũng gặp sự cố này, nó liên tục cho tôi biết "Một quá trình với PID 4 đang sử dụng cổng 80" khi tôi kiểm tra nó, tên quá trình là "Hệ thống". Tôi tiếp tục nghĩ rằng tôi có thể làm hỏng PC của mình nếu tôi cố gắng dừng quá trình này. Nhưng điều này đã hoạt động hoàn hảo. Cảm ơn
Lập trình viên Kebab

1
Đối với những người ở ngoài sử dụng máy chủ Uniform Z (thật tuyệt!), Tôi có thể xác nhận điều này cũng hoạt động cho máy chủ đó.
MisterM

1
@PraveenPuglia hum .. bình luận thú vị, làm việc với tôi! tôi cố gắng tập tin remove "ntoskrnl.exe" là một nguyên nhân cổng 4 ... nhiều vi rút tìm kiếm google nói ... dịch vụ tốt đẹp để dừng là công việc lol .. thanks bro
KingRider

36

Giải quyết vấn đề này rất dễ dàng:

  1. Mở dấu nhắc lệnh với đặc quyền của quản trị viên
    • Tìm "cmd", nhấp chuột phải vào nó, sau đó chọn "Quản trị viên".
  2. Trong lời nhắc, nhập net stop W3SVCvà Enter.

Bây giờ bạn có thể nhấp vào WAMPP và khởi động lại tất cả các dịch vụ. Mở trình duyệt của bạn và điều hướng đến "localhost".

Nếu bạn cần khởi động lại W3SVC,

  1. Mở dấu nhắc lệnh với đặc quyền của quản trị viên
  2. Trong lời nhắc, nhập net start W3SVCvà Enter.

Trên phiên bản Windows 10 đã phát hành, tôi nhận được "Đã xảy ra lỗi hệ thống 3. Quyền truy cập bị từ chối."
Mike_Laird

Bạn cần là quản trị viên. Thử lại.
DIANGELISJ

Vâng, cảm ơn DIANGELISJ. Trong Windows 10, nhấp chuột phải vào cmd và sau đó là hướng dẫn của bạn ở trên, sau đó nhấp chuột phải vào httpd.exe và tôi đã nhận được Apache hoạt động trở lại. Hộp httpd.exe là một ô trống màu đen, nhưng Apache hoạt động.
Mike_Laird

Tôi đã gặp sự cố tương tự trên Windows 10 bằng XAMPP. Sau mỗi lần khởi động lại, tôi sẽ phải vào bảng điều khiển XAMPP và cài đặt lại và khởi động lại các dịch vụ Apache và MySQL. Chạy bảng điều khiển XAMPP với tư cách quản trị viên dường như đã chữa khỏi nó, cảm ơn!
SharpC

đây là câu trả lời chính xác, tất cả những gì bạn cần làm là tắt IIS, sau đó khởi động xampp. Control-Panel - Admin - Internet Information Services - "Stop" Vậy là xong. Dễ như ăn bánh. (điều tương tự như trên, chỉ qua các giao diện.)
Elaine Ossipov

17

Tôi đã tìm ra cách để giải quyết vấn đề này:

  1. Nếu bạn cũng đang sử dụng Skype, hãy bỏ chọn trường cho biết sử dụng cổng 80 và 443 (Thêm -> Cài đặt -> Nâng cao -> Kết nối -> Bỏ chọn Cổng 80 và 443)
  2. Khởi động lại Skype và XAMPP.

Nếu điều này không hoạt động,

  1. Đi tới Bắt đầu và nhập "services.msc"
  2. Tìm "Dịch vụ Xuất bản Web Toàn cầu"
  3. Nhấp chuột phải vào mục nhập đó, chọn "Dừng", sau đó khởi động lại XAMPP.

Nếu điều đó không hoạt động và "Dịch vụ xuất bản web toàn cầu" không khả dụng,

  1. Đi tới Bảng điều khiển, điều hướng đến "Gỡ cài đặt chương trình", sau đó "Bật / tắt các tính năng của Windows"
  2. Tìm "Dịch vụ Thông tin Internet"
  3. Nhấp vào hộp kiểm và nhấn "OK".
  4. Khởi động lại, sau đó lặp lại cách tiếp cận thứ hai (services.msc)

Cảm ơn, nhưng câu trả lời đã được trả lời. Có lẽ nó có thể giúp ai đó cảm thấy mệt mỏi (:
Félix Desjardins.

Câu trả lời của bạn không thể giúp tôi, tôi đã tìm ra giải pháp của riêng mình. Dù sao cũng cảm ơn :)
Fazal

1
Xuất sắc! Nó chỉ là Skype chặn Apache! Phần yêu thích của tôi trong quá trình này: sau khi tắt các cổng 80 & 443 của Skype, tôi phải thoát khỏi Skype. Một cảnh báo xuất hiện (diễn giải) "Nếu bạn thoát khỏi Skype, bạn sẽ không thể sử dụng nó." Chà, duh!
CJ Dennis

14

Bạn có thể thay đổi cổng của Apache:

  1. Đi tới C: \ xampp \ apache \ conf \ httpd.
  2. Tìm bằng cách kết hợp Ctrl + F dòng #Listen 12.34.56.78:80 và thay đổi 80 thành bất kỳ bạn thích ví dụ 81
  3. Tương tự với Listen 80 đổi thành 81
  4. Tương tự với ServerName localhost: 80 thay đổi thành 81.
  5. Đi tới C: \ xampp \ apache \ conf \ extra \ httpd-vhosts và thay đổi 80 thành 81

NameVirtualHost *: 80 tại đây

VirtualHost *: 80 và ở đây (hai lần)

  1. Khởi động lại Apache

Để vào trang web của bạn, hãy nhập: http: // localhost: 81 / index.html


Tôi sẽ đề xuất điều này
Shuhratjan Nizamov

5
  1. Nhấn Windows+ Rvà nhập regedit.

  2. Đi đến

     HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP

    Thay đổi giá trị Startthành 4, có nghĩa là bị vô hiệu hóa.

  3. Khởi động lại máy tính của bạn.


1
"Bản nâng cấp tháng 11" của Windows 10 đã gây ra sự cố của tôi - tất cả đều đã hoạt động trước đó trên phiên bản Win 10. Tôi không chạy W3svc hoặc Skype. Đây giải pháp đã làm các trick! Cảm ơn @Do Nhu Vy!
Jim M

5

Tôi cũng đã khắc phục sự cố này với của mình, nhưng tôi phải thay đổi một vài thứ. Tôi yêu cầu rằng trên máy tính Windows 10 của mình, tôi giữ môi trường phát triển C # và Visual Studio, vì vậy tôi không muốn sửa đổi bất kỳ dịch vụ nào. Tất cả những gì tôi phải làm là tải xuống phiên bản XAMPP mới nhất và thay đổi các cổng lắng nghe cho 80 và 443. Chúng nằm trong hai tệp:

C:\xampp\apache\conf\httpd.conf

Listen 122
ServerName localhost:122

C:\xampp\apache\conf\extra\httpd-ssl.conf

Listen 444

Thay đổi ở trên từ cổng 80 thành 122 và 443 thành 444 cho phép tôi chạy Apache và cung cấp các trang trong khi vẫn giữ nguyên mọi thứ khác cho sự phát triển ASP.NET của tôi . Hy vọng rằng điều này sẽ giúp ai đó ngoài kia. Cuối cùng thì đây là một cách khắc phục rất đơn giản.

Hướng trình duyệt của bạn đến: http://localhost:122


Tôi nghĩ đây là cách dễ dàng và đơn giản nhất. Cảm ơn bạn rất nhiều!
Diptangsu Goswami

+1 vì tắt Dịch vụ .NET chắc chắn không phải là lựa chọn cho tôi. Tất nhiên tôi muốn chạy IIS và Apache cùng một lúc!
Alan

4

Tôi gặp vấn đề tương tự, nhưng các giải pháp trước đó khiến chúng tôi phải thay đổi cổng thay vì nhận được giải pháp chính xác. Tôi đã tìm kiếm về các cổng của Giao thức HTTP & HTTPS đơn giản và tìm thấy.

Nếu một ứng dụng khác đang chạy, các cổng HTTP hoặc HTTPS trên máy cục bộ, chúng tôi sẽ gặp sự cố này rõ ràng chỉ vì các cổng đó đã được sử dụng và ở trạng thái bận .

Đó là lý do tại sao sau khi thay đổi số cổng, nó đã hoạt động. Nhưng thay vì thay đổi cổng trong máy chủ XAMPP, tôi đã sử dụng các phương pháp sau và nó phù hợp với tôi.

Đây là bước sau mà tôi đã thực hiện trong quá trình sửa chữa này.

  1. Lỗi mà tôi gặp phải trong ứng dụng Máy chủ XAMPP.

    Lỗi máy chủ XAMPP

  2. Ở góc trên cùng có một nút tên là Netstat . Nó rất hữu ích để tra cứu các cổng đang chạy trên hệ thống.

    Nút Netstat

  3. Đây là ứng dụng Netstat mà tôi tìm thấy một ứng dụng đã chạy và sử dụng số cổng 443. Trong trường hợp của tôi, đó là vmware-hostd.exe . Của bạn có thể là một ứng dụng khác. Cố gắng tìm kiếm cổng 80 (HTTP) hoặc cổng 443 (HTTPS).

    Đã mở ứng dụng Netstat

  4. Tôi vừa mở Trình quản lý tác vụ của Windows , chọn ứng dụng vmware-hostd.exe và tắt quá trình bằng cách sử dụng nút Kết thúc quá trình . Tôi đã giết quá trình đó được sử dụng cổng 443. Và ứng dụng này không cần thiết vào lúc này.

    Đã mở trình quản lý tác vụ và hủy ứng dụng đó

  5. Sau khi giết ứng dụng trong Windows Task Manager, Apache hiện đã có sẵn. Đây là bằng chứng.

    Apache đang hoạt động


LƯU Ý: * Nếu bạn tìm thấy bất kỳ loại ứng dụng nào được sử dụng cổng HTTP hoặc HTTPS có nghĩa là cổng 80 hoặc cổng 443 và ứng dụng đó không quan trọng hoặc không quan trọng thì chỉ có thể giết quá trình của ứng dụng đó.

Nếu không, bạn không cần phải làm theo các bước sau. Sau đó, bạn cần xem xét để thay đổi cổng của ứng dụng XAMPP của mình như đã nêu trong các câu trả lời trước. *


4

Tôi đã thử mọi thứ được liệt kê trong các câu trả lời ở đây nhưng không có câu trả lời nào hoạt động.

Sau đó, tất cả những gì tôi làm là khởi động lại XAMPP với quyền quản trị viên bằng cách:

Start menu - nhấp chuột phải vào XAMPP - chọn run as administrator

Nó đã làm việc. Nó là đơn giản.

Tôi đã gỡ cài đặt các dịch vụ IIS, dừng các dịch vụ WWW, thay đổi các cổng trở lại 80, chặn tất cả các kết nối apache và mysql từ tường lửa windows 10, nhưng có, nó vẫn hoạt động!


2

Sau khi chơi xung quanh, thực sự tất cả những gì bạn phải làm là thay đổi hai dòng trong tệp httpd.conf :

Thay đổi "Nghe 80" thành "Nghe 122" (hoặc bất kỳ thứ gì khác bạn muốn)

"ServerName Localhost: 80" thành "Localhost: 122" (hoặc cổng bạn đã thay đổi ở trên)

Vậy thì tất cả sẽ bùng cháy ngay: P


2

Có vẻ như có nhiều lựa chọn. Câu trả lời phụ thuộc vào cài đặt Windows của bạn. Đây là kinh nghiệm của tôi khi gặp sự cố tương tự trong bản cài đặt mới Windows 10 và khắc phục sự cố theo bước sau:

  1. Cài đặt Visual C ++ Redistributable
  2. Mở XAMPP và chọn cấu hình trong dịch vụ Apache
  3. Thay đổi cổng 80 thành 9000 hoặc 81 hoặc bất cứ thứ gì bạn muốn trong tệp httpd.conf trên dòngListen 80
  4. Thay đổi cổng trên httpd-ssl.conf và thay đổi Listen 443thànhListen 441
  5. Khởi động lại XAMPP và khởi động dịch vụ Apache. Nó làm việc cho tôi.

Lưu ý : Tôi đang sử dụng XAMPP phiên bản 5.6.15 và Bảng điều khiển XAMPP phiên bản 3.2.2.


2
Good catch - đảm bảo http và https cổng là không mâu thuẫn
Aaron Hudon

1
  • Chuyển đến menu bắt đầu và nhập Bật hoặc tắt các tính năng của Windows
  • Bỏ chọn Dịch vụ thông tin Internet
  • nhấn OK

1

Trong trường hợp của tôi, đó là một trường hợp đơn giản để xóa IIS vì Windows 10 đi kèm với IIS (Dịch vụ Thông tin Internet) được cài đặt sẵn - xung đột với XAMPP vì cả hai máy chủ này đều cố gắng sử dụng cổng 80. Nếu bạn không muốn sử dụng IIS và tiếp tục sử dụng XAMPP

  1. Chuyển đến chạy / tìm kiếm trong Windows 10
  2. Tìm kiếm 'các tính năng tùy chọn'
  3. Trên danh sách đó, hãy bỏ chọn Dịch vụ Thông tin Internet (IIS)

Sau đó khởi động lại .


1

Tôi thấy rằng chạy apache_start trong đã cho tôi lỗi chính xác và lỗi đó nằm ở dòng nào.

Lỗi của tôi là tôi đã để lại một khoảng trống giữa localhost: và cổng.


"Đang chạy apache_start trong" là gì? Ví dụ, một từ bị thiếu?
Peter Mortensen

Copy-paste hoạt động tốt hơn gõ (tất nhiên trừ khi sử dụng GNOME - hãy tránh GNOME bằng mọi giá).
Peter Mortensen

1

Các World Wide Web Publishing dịch vụ không phải là chỉ có một trách nhiệm trong trường hợp của tôi.

Tôi đã cài đặt IIS, vì vậy tôi đã phải dừng toàn bộ dịch vụ HTTP.

Đây là các lệnh mà tôi đã thực hiện trong CMD (với tư cách là quản trị viên):

net stop W3SVC
net stop http

1

Nếu bạn đã cài đặt SQL Server , một số dịch vụ của nó có thể chặn cổng mà XAMPP cần. Tôi đã giải quyết sự cố của mình bằng cách tắt Dịch vụ Báo cáo Máy chủ SQL và bây giờ Apache khởi động mà không gặp bất kỳ sự cố nào.

Chỉ cần mở services.msc, cuộn xuống và tìm Dịch vụ Báo cáo Máy chủ SQL . Nhấp chuột phải vào nó và nhấp vào Stop.


0

Trên thực tế, theo mặc định IIS (Microsoft, .NET, v.v.) được cài đặt.

  • Đi tới Bảng điều khiển
  • Bật hoặc tắt các tính năng của Windows ...
  • Trong Dịch vụ thông tin Internet (IIS), bỏ chọn các dịch vụ web trên toàn thế giới (WWWS).
  • Bấm OK.

Đây có thể là một giải pháp lâu dài. :)


0

Lời khuyên này là tuyệt vời. Tôi cũng gặp phải vấn đề tương tự, nhưng giải pháp của tôi khác, vì tôi quá ngu ngốc, tôi đã đổi tên thư mục chứa XAMPP và vì tôi đã cài đặt nhiều chương trình khác nên không thể đổi tên lại được.

Trong trường hợp của tôi, có thư mục gốc C: \ Programs \ Xampp và được đổi tên thành C: \ PROGRAMS_ \ Xampp và đó là sai lầm.

Giải pháp là tìm tất cả các tham chiếu trên C: \ Programs và đổi tên chúng thành C: \ PROGRAMS_ trong thư mục XAMPP, vì vì lý do nào đó trong quá trình cài đặt, nó ghi các đường dẫn tuyệt đối, không tương đối. Tất nhiên, có một số tài liệu tham khảo trong sổ đăng ký.


Đây dường như là một trường hợp rất cụ thể và dường như không tương ứng với kịch bản của câu hỏi.
dakab

Có, tôi đồng ý, nhưng tôi nghĩ nó có thể giúp ích cho ai đó, bởi vì tôi đang gặp phải tình huống tương tự (có phiên bản mới 10) và lỗi giống nhau, vì vậy có thể đây không phải là kịch bản hoàn toàn giống nhau, tôi nghĩ ai đó sẽ thấy điều này hữu ích .
Mayk

0

Nó chỉ đơn giản là vấn đề làm cho cổng 80 khả dụng cho dịch vụ Apache của bạn. Cách tôi giải quyết vấn đề là:

  1. Trên Windows 10, nhấp chuột phải vào nút bắt đầu và chọn Chạy
  2. Nhập services.msc và nhấp vàoOK
  3. Tìm và nhấp chuột phải Dịch vụ xuất bản web trên toàn thế giới
  4. Chọn thuộc tính
  5. Thay đổi giá trị loại Khởi động thành Tự động (Bắt đầu bị Trễ)
  6. Khởi động lại máy tính của bạn.

Đây là bạn có nó. Tất cả đã trở lại bình thường.


0

Điều đó thật đơn giản đối với tôi!

Cố gắng chạy Bảng điều khiển XAMPP với tư cách quản trị viên.


0

Tôi đã thử tất cả các giải pháp trên. Nhưng nó đã không hoạt động theo bất kỳ cách nào.

Cuối cùng, tôi chỉ cần gỡ cài đặt XAMPP và cài đặt lại . Sau đó, nó làm việc cho tôi.

Bây giờ tôi có thể chạy máy chủ trên bất kỳ cổng nào (bao gồm cả 80).


0

Các bước:

  • Mở Bảng điều khiển XAMMP
  • Mở Apache Config, sau đó chọn tệp cấu hình Apache - xammp-
  • Tìm kiếm "Cổng 443", sau đó thay đổi nó thành một số cổng khác, giả sử 4433
  • Sau đó khởi động lại.

cảm ơn, @Peter Mortensen đã chỉnh sửa câu trả lời của tôi :)
C Williams

0

Kiểm tra xem cài đặt PHP của bạn có hoạt động không.

Kiểm tra tệp php.ini bạn đang chạy trong cấu hình của Apache và sử dụng tệp đó để chạy php.exe ...


0

Có thể bạn vừa cập nhật Windows của mình lên Phiên bản 1903 (HĐH Bản dựng: 18362.239) hoặc đã thay đổi mật khẩu người dùng. Mặc dù đã loại bỏ tất cả các xung đột cổng , tôi vẫn nhận được các thông báo được mô tả bởi OP ở đầu bài đăng này.

Cuối cùng, tôi đã chữa khỏi nó bằng cách nâng cấp lên XAMPP lên 7.3.7. (Khi buộc phải cài đặt lại, bạn cũng có thể nâng cấp cùng lúc!)

Nhưng vấn đề lại tái diễn khi tôi lại thay đổi mật khẩu người dùng 'root'.

Các thông báo lỗi bảng điều khiển đã che giấu thực tế rằng bảng mysql.user đã bị hỏng.

Kiểm tra tệp mysql_error.log . Nếu bạn thấy lỗi nghiêm trọng: Không thể mở và khóa các bảng đặc quyền: Chỉ mục cho bảng 'người dùng' bị hỏng; cố gắng sửa chữa nó , sau đó xem xét điều này .


0

Tôi gặp vấn đề tương tự và tôi đã giải quyết nó bằng cách gỡ cài đặt máy chủ WAMP .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.