XAMPP, Apache - Błąd: nieoczekiwane zamknięcie Apache

345

Właśnie ponownie zainstalowałem XAMPP i kiedy próbuję uruchomić mój serwer Apache w Panelu sterowania XAMPP, teraz pojawiają się następujące błędy:

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

Jak to rozwiązać?

Tomas Skovgaard
źródło
Problem ten zacząłem po zainstalowaniu nowej wersji XAMPP. Myślałem, że problem dotyczy portów, ponieważ prawie każdy post mówi o nich, ale tak nie było. Kiedy sprawdziłem error.log, zobaczyłem, PHP Warning: 'vcruntime140.dll' 14.0 is not compatible with this PHP buildco doprowadziło mnie do tej odpowiedzi . Zainstalowanie wymaganej redystrybucji rozwiązało problem.
akinuri

Odpowiedzi:

415

Otwórz Skype.

Narzędzia -> Opcje -> Zaawansowane -> Połączenie.

Odznacz pole „ Użyj portów 80 i 443 dla alternatyw dla połączeń przychodzących

Wyloguj się i zamknij wszystkie okna Skype. Spróbuj ponownie uruchomić Apache.

Abuarif
źródło
7
jeśli nie działa dla nikogo, spróbuj sprawdzić dzienniki błędów. lub jeśli używasz vmware, przejdź do EDYCJA> PREFERENCJE> UDOSTĘPNIONE VMS> WYŁĄCZ UDOSTĘPNIANIE i zmień port z 443 na dowolny inny port, np. 8443 i zapisz zmiany. uruchom ponownie xampp lub wamp
Faisal Naseer
5
Zmieniłem Skype, wciąż zauważając. Rozwiązaniem było ( stackoverflow.com/questions/14548768/... setup_xampp.bat, aby odświeżyć ścieżki]
Timmah
21
To nie jest właściwe rozwiązanie, ponieważ port może zostać zablokowany z powodu dowolnej aplikacji, nie tylko Skype. Druga najwyższa oceniona odpowiedź ma lepsze rozwiązanie.
Rahul Kadukar,
3
Jest to najczęstszy problem, z którym borykają się ludzie, choć w moim przypadku nie był to problem. Ten problem może również wystąpić, jeśli masz niepoprawne wpisy w dowolnym z tych plików httpd.conf i httpd-vhosts.conf. W moim przypadku utworzono hosta wirtualnego, który wskazuje lokalizację pliku na zewnętrznym dysku twardym, a gdy działałem xampp, mój zewnętrzny dysk twardy nie był podłączony. Skomentowałem ten wirtualny kod hosta do czasu, gdy nie korzystałem z zewnętrznego dysku twardego i ponownie uruchomiłem xampp, aby naprawić problem.
Vineet Sajwan
2
Nie zawsze jest to Skype. Mój problem dotyczył oprogramowania vmware, które korzystało z portu 443. W takim przypadku nie trzeba zmieniać konfiguracji portu 80.
Moradnejad
760

Ponieważ pracuję w środowisku korporacyjnym, w którym programiści napotykają problemy z zaporą, żadna z pozostałych odpowiedzi nie rozwiązała mojego problemu.

Ponieważ port nie jest używany przez Skype, ale niektóre inne aplikacje wewnętrzne, wykonałem poniższe kroki, aby rozwiązać problem:

Krok 1 - W Panelu sterowania XAMPP, w obszarze Apache, kliknij przycisk Config i wybierz Apache (httpd.conf).

W pliku httpd.conf w jakiś sposób znalazłem wiersz z napisem:

Listen 80

I zmień 80 na dowolny numer / port, jaki chcesz. W moim scenariuszu korzystam z portu 8080.

Listen 8080

Wciąż z pliku httpd.conf znalazłem inny wiersz z napisem:

ServerName localhost:80

Zmień 80 na 8080.

ServerName localhost:8080

Krok 2 - W Panelu sterowania XAMPP, w obszarze Apache, kliknij ponownie przycisk Config, ale tym razem wybierz Apache ( httpd-ssl.conf ). W pliku httpd-ssl.conf znajdź wiersz z napisem

Listen 443

I zmień 443 na dowolny numer / port, jaki chcesz. Będę przy użyciu 4433 jako nowy numer portu.

Listen 4433

Nadal z pliku httpd-ssl.conf znajdź inną linię, która mówi:

<VirtualHost _default_:443>

ServerName localhost:443

I zmień 443 na 4433 .

<VirtualHost _default_:4433>

ServerName localhost:4433

Pamiętaj o zapisaniu plików httpd.conf i httpd-ssl.conf po wprowadzeniu pewnych zmian. Następnie uruchom ponownie usługę Apache.

Min2
źródło
Odpowiedź udzielona przez @ Min2 działa w każdym przypadku, ale czasami się nie udaje, ponieważ trzeba sprawdzić, czy w Menedżerze zadań działa usługa o nazwie „Usługa HTTP Apache”. Zakończ tę usługę i wykonaj wyżej zdefiniowane funkcje, a zobaczysz, że działa Apache.
Aadil
4
Uaktualniłem do systemu Windows 10 i XAMPP nie działał. Śledziłem twoje rozwiązanie i działało dobrze.
fuddin
6
To jest poprawka dla błędu systemu Windows 10. Wielkie dzięki !
Javed Ali
3
Pracuje dla mnie. To powinno być przyjęte rozwiązanie; rozwiązanie Skype jest bardzo ograniczone.
ptrcao,
1
Wprowadziłem zmiany dla portów 80 i 443, ale nadal pokazuje błąd, że nie ma skype w moim systemie
Bhargav Venkatesh
97

Jedną rzeczą, którą możesz zrobić, to zatrzymać usługi na porcie 80 przez wydanie

net stop http

w cmd. Zostaniesz zapytany, czy na pewno chcesz zatrzymać te usługi. Dowiedziałem się, że mam kilka usług, z których nie korzystałem, i wyłączyłem je.

Aby zobaczyć, kto jeszcze używa portu 80, wpisz w cmd

netstat -abno

Zakładam, że chcesz uruchomić Apache na porcie 80. Jeśli tak jest i chcesz zachować usługi będące w konflikcie, będziesz musiał powiązać je z nowym portem.

Jeśli problem nie jest zajęty, możesz także spróbować wykonać następujące czynności: wybierz „pokaż informacje debugowania” w panelu konfiguracji XAMPP. Podczas uruchamiania Apache pojawi się komunikat „Wykonanie” c: \ xampp \ apache \ bin \ httpd.exe.

c:\xampp\apache\bin\httpd.exe

w cmd dostaniesz więcej informacji (kiedyś miałem na przykład problem z plikiem httpd.conf).

Powiązane: Jak mogę zwolnić mój port 80 na localhost Windows? i Apache nie będzie działał w Xampp

użytkownik2314737
źródło
12
+1 dla httpd.exe. Jeśli brakuje Ci modułów, upewnij się, że program antywirusowy ich nie usunął (szczególnie jeśli korzystasz z Kasperky).
thomas88wp,
1
Miałem ten sam problem i rozwiązałem go, upewniając się, że każdy katalog określony w /apache/conf/extras/httpd-bhosts.conf to rzeczywiste ścieżki.
Matthew
8
dzięki człowiek z systemem c: \ xampp \ apache \ bin \ httpd.exe na cmd rzucił dokładny błąd i był w stanie go naprawić
Khan Shahrukh
To słowo na serwerze 2019. net stop http robi lewę, zatrzymuje wszystkie usługi korzystające z tego portu. Ta usługa zafascynowała mnie ręcznym uruchomieniem.
Henry
Jeśli używasz systemu Windows 7, najlepiej zapoznaj się z odpowiedzią Kunala, która mówi, jak zatrzymać IIS. O tej sztuczce net stop httpdziałało, ale miało efekt uboczny polegający na tym, że drukarki nie były już wyświetlane przy próbie wydrukowania czegoś (i do ponownego uruchomienia komputera).
OuzoPower
79

W Panelu sterowania XAMPP V3.2.1 kliknij przycisk „NetStat” w prawym górnym rogu. Upewnij się, że port 80 nie jest używany przez żaden inny program. Następnie kliknij „Shell” tuż pod nim. Wydaj polecenie „Wpisz dwa razy AP, a następnie TAB”

Apache_Start.bat

W rzeczywistości zobaczysz dokładny błąd, który spowodował błąd Apache. Będzie to najprawdopodobniej problem z konfiguracją wirtualnego hosta lub może być coś innego. Wyświetli numer linii, na której występuje błąd. Napraw ten błąd. Zauważ, że w RootDocument trailing \ może być również źródłem błędu. Usuń końcowe „\”.

Hammad Khan
źródło
7
To tylko mi pomogło - powiedziano mi, że jest literówka - po godzinach spędzonych na próbach ustalenia, co jest nie tak. Bardzo dziękuję @hmd
Sebastian Sulinski
Dziękuję, zmieniłem nazwę folderu xampp, co pomogło mi znaleźć błąd.
Peter Nguyen,
10
To powinna być najwyższa odpowiedź, ponieważ działa na każdy możliwy błąd w XAMPP!
user11153,
To również powinna być poprawna odpowiedź. Miałem głupi błąd w vhostie i to powodowało błąd .... dzięki
Mikel
Super G ... bądź najlepszą odpowiedzią, ponieważ działa na każdy możliwy błąd w XAMPP !!!
OpenWebWar
37

Wykonaj następujące kroki:

  1. Otwórz panel sterowania XAMPP, a następnie kliknij jego „Config”
  2. Wybierz „Apache (httpd.conf)” i znajdź ten kod poniżej i zmień go na ten:

    # Zmień to, aby nasłuchiwać na określonych adresach IP, jak pokazano poniżej

    #, aby zapobiec wtargnięciu Apache na wszystkie powiązane adresy IP.

    # Słuchaj 0.0.0.0:80

    #Listen [::]: 80

    Listen 80

    # Obsługa dynamicznego obiektu współdzielonego (DSO)

    1. Zapisz to ( Ctrl+ S)
    2. Następnie wróć do panelu sterowania XAMPP i ponownie kliknij jego konfigurację.
    3. Wybierz „Apache (httpd-ssl.conf)”, znajdź ten kod poniżej i zmień go ponownie:

    # Uwaga: Konfiguracje używające adresów IPv6, ale nie mapowanych adresów IPv4, wymagają dwóch

    # Posłuchaj dyrektyw: „Listen [::]: 443” i „Listen 0.0.0.0:443”

    #

    # Słuchaj 0.0.0.0:443

    #Listen [::]: 443

    Listen 443

    1. Zapisz to ( Ctrl+ S)
    2. Następnie kliknij „config” (uwaga: nad netstat) i kliknij „ustawienia usługi i portu”.
    3. Zmień „Main Port” na 8080 i „SSL Port” na 4433, a następnie zapisz.
    4. Na koniec przejdź do „panelu sterowania” -> „Programy i funkcje” -> „Włącz lub wyłącz system Windows”.
    5. Odznacz „Internetowe usługi informacyjne”, a następnie kliknij OK.

Poczekaj na to, a komputer / laptop zostanie automatycznie uruchomiony ponownie i spróbuj ponownie otworzyć panel sterowania XAMPP, a następnie uruchom Apache.

kimiberi
źródło
11
Uważaj. Jeśli masz zainstalowaną VMWare Workstation (10.0), opcja udostępniania maszyn wirtualnych nasłuchuje portu 443. To uniemożliwia uruchomienie serwera Apache (xampp). Zobacz Edycja> Preferencje> Udostępnij maszyny wirtualne
toesslab
3
Listen 80 -> Listen 81 (near line 58) ServerName localhost: 80 -> ServerName localhost: 81 (near line 218)
Noah Martin
2
Pracował dla mnie. Próbowałem zmienić port Apache za pomocą XAMPP „Config GUI” i nie miałem szczęścia. Zmieniłem to ręcznie i wszystko działało. Kolejna trudna lekcja lenistwa.
Matt Carr
Wreszcie rozwiązanie dla mnie. Już zmieniłem skype, ale to nie pomogło. Dziękuję Ci! (: Jedynym problemem był punkt 3 i 4 w ostatniej części twojego opisu.
codepleb
Pracował dla mnie, używam Windows7 bez VMware. + 1
użytkownik3437460,
26

Mój problem polegał na tym, że w httpd.conf wpisy DocumentRooti <Directory>wskazywały na nieistniejące foldery.

Na przykład „oryginalny” plik httpd.conf zawierał następujące wpisy:

DocumentRoot "c:/Apache24/htdocs"
<Directory "c:/Apache24/htdocs">

Jeśli zainstalowałeś w C: \ xampp, musisz zmienić te wpisy, aby pasowały, tj

DocumentRoot "c:/xampp/htdocs"
<Directory "c:/xampp/htdocs">
CramerTV
źródło
Zmieniłem nazwy folderów, co spowodowało nieprawidłowy katalog główny HTTP i nie pozwoliłem XAMPP na uruchomienie. zmiana nazw folderów na właściwe naprawiła to :)
VSB
2
+1, całkowicie zapomniałem, że zrestrukturyzowałem swoje foldery =)
Morten Høgseth
Ja też - „... ale nic nie zmieniłem! ...” tak, z wyjątkiem nazwy katalogu głównego - ups. ;)
CramerTV
2
nic, tylko prosta odpowiedź przypominająca czasami swój własny idiotyzm ...: D, który mi to zrobił, dzięki!
charlie carver
21

Jeśli używasz systemu Windows 7. Wyszukaj usługi IIS w wyszukiwaniu systemu Windows (kliknij ikonę Okno w lewym dolnym rogu i wpisz tekst „Wyszukaj program i pliki”).

Otwórz IIS (Internet Information Service) .

Po prawej stronie w panelu działań. Kliknij Stop.

Uwaga: Łącze stop jest wyblakłe na zrzucie ekranu. Jak to zatrzymałem. Zrzut ekranu IIS Problem rozwiązany!

Kunal
źródło
2
W systemie Windows 10 nie można znaleźć usług IIS do wykonania, a następnie odinstalowałem usługi IIS, z Control Panel > Programs > Programs and Features > Windows Componentsktórych w końcu to rozwiązałem.
Schody ruchome
@escalator cóż, wyraźnie wspomniałem, że „Jeśli używasz systemu Windows 7”.
Kunal
Dzięki. Działa jak urok i rozwiązałem problem po tym, jak bezskutecznie wypróbowałem kilka innych wymienionych sztuczek. Działanie net stop httpz wiersza polecenia z podwyższonym poziomem uprawnień również działało, ale efekt uboczny powodował niedostępność drukarek.
OuzoPower
17

Miałem ten sam problem i okazało się, że zapomniałem uruchomić setup_xampp.bat(wersja przenośna).

Paweł
źródło
2
Po przeniesieniu mojego folderu xampp na inny dysk niż c: \ apache już się nie uruchomił. To rozwiązanie działało dla mnie. Wielkie dzięki! :)
Pascal Cloverfield
Myślę, że ten krok jest obowiązkowy, gdy pobieramy oprogramowanie Xampp jako archiwum zip i próbujemy uruchomić serwer Apache.
shasi kanth
To jest odpowiedź na wersję przenośną (moja sprawa). Dzięki za zwrócenie na to uwagi.
Sidney de Moraes,
To także rozwiązało mój problem. Nie jestem na wersji przenośnej. Pobrałem instalację dla Xampp na Windows 10. Po instalacji (był to plik exe, a nie zip), miałem problem opisany w pierwszym poście. Po znalezieniu rozwiązania tego problemu uruchamiam plik setup_xampp.bat i teraz działa.
quokka-web
Mój system Windows został uszkodzony z powodu zmiany nazw dysków i bezwzględnych ścieżek do plików. Uruchomiłem setup_xampp.bat i wszystko zostało poprawnie skonfigurowane ponownie.
gegobyte,
16

To działało dla mnie ...

Jeśli używasz systemu Windows ...

Wyszukaj „cmd” w pasku wyszukiwania systemu Windows.

Wpisz to:C:\xampp\apache\bin\httpd.exe

Znajdź plik i wiersz, w którym wystąpił błąd.

Na przykład mój był w pliku poniżej w linii 37.

httpd-multilang-errordoc.conf

Otwórz kod i napraw błąd, usuwając wiersz lub naprawiając go.

Gotowy! Powinienem teraz pracować.

:)

SreeniH
źródło
dzięki. zadziałało. wystąpił błąd składni w moim pliku konfiguracyjnym
vhost
12

Wygląda na to, że nikt nie odpowiedział na temat wykonania pliku xampp_start.exe.

Zrobiłem wszystkie poprzednie odpowiedzi, ale to nie rozwiązało mojego problemu. Dowiedziałem się, że uruchomienie xampp_start.exe daje szczegółowe informacje na temat problemu.

Oto, co widzę po mojej stronie:

xampp_start

Jak widać, miałem problem ze ścieżką lub xampp wskazuje na nieistniejący folder.

Loreto Gabawa Jr.
źródło
To było ratowanie życia. moja ścieżka do pliku ssl i logów była nieprawidłowa. pomogło mi to poprawić i działa teraz.
Ali Azhar,
Fajna odpowiedź. Uratowałem mój dzień
Raju
11

Kiedy odkryłem, że nie było procesu korzystającego z portu 80 za pomocą poleceń

netstat -abno | find ":80"

nie wystąpił problem z żadnym procesem korzystającym z portu 80.

Następnie uruchomiłem polecenie (w cmd)

C:\xampp\apache\bin\httpd.exe

pokazał błąd w konfiguracji hostów wirtualnych w httpd-vhosts.confpliku, który został niedawno przeze mnie edytowany do instalacji w środowisku WordPress PHP w środowisku IDE Eclipse . Więc usunąłem te linie i Apache zaczął się idealnie.

JDP
źródło
2
Doskonały! Podałem zły katalog dla plików dziennika i dlatego się nie uruchamiał. Naprawianie, które rozwiązuje problem!
Hammad Khan
RZĄDZISZ!!!! Wszystkie powyższe rozwiązania nie działały dla mnie, kiedy próbowałem tego, co zrobiłeś, dał mi inny błąd dotyczący linii SSLRequiredSSL w httpd-xampp.conf, który następnie wstawiłem # przed nią, aby ją wyłączyć. Nawiasem mówiąc, musiałem zmienić C: \ xampp \ apache \ bin \ httpd.exe wiele razy w wierszu poleceń po każdym naprawieniu, aby znaleźć mi kolejne wiersze, które miały ten sam błąd.
alaswer
11

Prostą rzeczą, którą możesz zrobić, to sprawdzić, czy Skype lub VMware jest zainstalowany na twoim komputerze, czy nie.

Skype używa portów 80 i 443 jako dodatkowego portu dla połączeń przychodzących. Aby zmienić numer portu w Skype, przejdź do

Narzędzia> Opcje połączenia> Połączenie

w oknie Skype. Teraz zmień domyślny numer portu 80 na inny.

VMware Workstation używa portu 443 do udostępniania. Aby to zmienić, otwórz VMware Workstation i gotowe

Edycja> Preferencje> Wspólne Vms

  1. Kliknij przycisk „Zmień ustawienia”
  2. Następnie kliknij „Wyłącz udostępnianie”
  3. Następnie zmień używany numer portu https (443)
  4. Następnie możesz kliknąć przycisk „Włącz udostępnianie”

To wszystko co musisz zrobić. Uruchom ponownie XAMPP i uruchom serwer Apache.

żmija
źródło
Po dokonaniu zmiany skype apache wciąż się nie uruchamiał, więc zrobiłem wspomnianą zmianę VmWare i zadziałało.
Haris ur Rehman
9

Kiedyś miałem ten sam problem. Miałem stary laptop, na którym prawie wszystkie porty były albo zablokowane, albo działały nieprawidłowo. Tak to zrobiłem.

  1. Otwórz panel sterowania XAMPP.

  2. Kliknij Config

  3. Następnie przejdź do pliku httpd.conf Apache . Otwórz go za pomocą edytora tekstu.

  4. Wyszukaj „80” (Wykonaj Ctrl+ Fi znajdź je wszystkie. Zamień je na 8080 lub 4040 lub 4000 ).

  5. Zapisz plik. I uruchom ponownie XAMPP.

Dla mnie to zadziałało i mam nadzieję, że to również pomoże.

Pragyaditya Das
źródło
6

Dla mnie usługa publikowania w Internecie korzystała z portu 80. Zabiłem to, uruchamiając następującą komendę na cmd:

net stop http

Następnie XAMPP bez problemu uruchomił Apache.

Memet Olsen
źródło
1
rozwiązało to mój problem, ale teraz zatrzymaliśmy niektóre usługi, jak wpływają one na moją sieć?
Karavana,
Uruchomiłem wiersz polecenia jako administrator i zadziałało. Ale moje pytanie brzmi: czy zatrzymane usługi nie będą miały wpływu na normalne przetwarzanie komputerowe, i jak znowu je dostanę, zostały zatrzymane, uruchomione ponownie.
AMRESH PANDEY
@AMRESHPANDEY Znalazłem coś, co może być przydatne w takim przypadku. Nie próbowałem jednak, czy to działa. Dodaj go jako odpowiedź, jeśli zadziała
Memet Olsen
5

Ten błąd występuje, ponieważ port przydzielony dla Apache jest używany przez inny program. Aby sprawdzić aplikację, która korzysta z portu, który przydzieliliśmy dla Apache, można to zrobić, klikając,

Przycisk Netstat .

Strona główna XAMPP

To jest plik Netstat,

Wpisz opis obrazu tutaj

Początkowo przydzieliłem port 8080 dla Apache, a ostatnio zainstalowałem Oracle DB.TNSLSNR.exe używał teraz portu 8080.

Tak więc, patrząc na ten plik, możemy wybrać port, który nie koliduje z innymi aplikacjami. W moim przypadku port 8060 nie koliduje z żadną aplikacją. Wybierając to, możemy zmienić plik httpd.conf (panel sterowania XAMPP -> Konfiguracja ), jak wspomniano powyżej.

SithuSena
źródło
5
  1. pobierz nowych apachefriendów xampp
  2. Zainstaluj to
  3. usuń wszystkie aplikacje VPN
  4. otwórz folder XAMPP uruchom setup_xampp.bat
  5. uruchom xampp-control.exe
sirmagid
źródło
Postępowałem zgodnie z punktem 4, uruchomiłem setup_xampp.bat i uruchomiłem usługi (punkt 5), wszystko działa dobrze.
Devang Solanki
4

W moim przypadku ten problem był spowodowany próbą pobrania innego produktu bitnami, takiego jak WordPress . Jest to powszechne, gdy instalujemy WordPress za pośrednictwem XAMPP. Jest on umieszczony w xampp/appkatalogu, do którego można uzyskać dostęp ze strony głównej aplikacji XAMPP.

Jako rozwiązanie usunąłem domyślnie zainstalowany WordPress z xamppkatalogu i ręcznie zainstalowałem WordPress w htdocsfolderze WordPress, pobierając go i rozpakowując pliki zip do htdocfolderu. Musisz także zrestartować XAMPP lub system po odinstalowaniu / usunięciu domyślnego WordPressa . Teraz wszystko jest dla mnie OK.

A.Aleem11
źródło
3
  1. Najpierw upewnij się, że \xamppfolder jest w katalogu głównym! Jest to ważne, ponieważ ścieżka jest względna.

  2. Następnie upewnij się, że korzystasz xampp_control.exez praw administratora.

  3. Następnie zmień poniższe pliki, aby uniknąć problemów z zablokowanym portem 80.

W \xampp\xampp-control.ininim należy ustawić:

[ServicePorts]
Apache=8080
ApacheSSL=4433

Znajdź \xampp\apache\conf\httpd.confi ustaw:

Listen 8080

ServerName localhost:8080

Znajdź \xampp\apache\conf\extra\httpd-ssl.confi ustaw:

Listen 4433

<VirtualHost _default_:4433>

ServerName www.example.com:4433

Następnie zakończ wszystkie usługi i uruchom ponownie xampp-control.exez uprawnieniami administratora. Powinien biec!

Kai Noack
źródło
3

Właśnie napotkałem ten błąd na moim Xampp v3.2.2 [win 10 pro x64],

Najpierw próbowałem uruchomić polecenie „net stop http” w admin cmd, ale to nie rozwiązało problemu, więc zacząłem wypróbowywać polecenie „netstat -abno” i dowiedziałem się, że port ssl (443) jest w używać przez vmware.

więc moja rada, nie szukaj tylko tego, co blokuje port 80, szukaj także potencjalnych programów korzystających z portu 443. ponieważ tak naprawdę nie lubię zmieniać moich domyślnych numerów portów na 8081 i 4433.

W ten sposób możesz rozwiązać ten problem ...

najpierw wpisz następujące polecenie

net stop http

następnie spróbuj uruchomić apache, jeśli nadal nie działa. wpisz następujące polecenie

netstat -abno

i na pewno dostaniesz tę kłopotliwą aplikację, która zużywa twój cenny port.

skopiuj pid, a następnie użyj następującego polecenia

taskkill /f /pid PID

gdzie PID to skopiowany pid.

Mam nadzieję, że to komuś pomaga.

Kingston Fortune
źródło
2

Dzieje się tak z powodu domyślnego portu 80 dla Apache. Musisz zmienić port lub umożliwić dostęp do portu.

Przejdź do pliku konfiguracji Apache (httpd.conf) w instalacji Apache.

Znajdź te linie:

#

Słuchaj 192.168.1.2:80

Posłuchaj 80

#

Tutaj 192.168.1.2 to mój prywatny adres IP. Zmień to według swojego.

Zmień jak poniżej

Słuchaj 192.168.1.2:8081

Słuchaj 8081

Teraz, kiedy uzyskujesz dostęp do localhost, musisz jawnie dodać port jako http: // localhost: 8081 / ...

Priyankara
źródło
2

Jedną z przyczyn może być to, że nie uruchamiasz Panelu sterowania XAMPP jako administrator.

Saurabh RS
źródło
2

Rozwiązałem problem z zatrzymaniem usługi „Usługa Web Deployment Agent”. Otwórz: System -> Zarządzanie komputerem -> Usługi -> Usługa Web Deployment Agent . Zatrzymaj tę usługę i uruchomienie XAMPP działa. Myślę, że to usługa MS Webmatrix.

(Niemiecki: Systemsteuerung -> System und Sicherheit -> Verwaltung -> Dienste -> Webbereitstellungs-Agent-Dienst )

Złupić
źródło
2

Miałem dokładnie ten sam komunikat o błędzie co OP, ale żadna z istniejących odpowiedzi nie rozwiązała mojego problemu. Wiele odpowiedzi dotyczy konfliktów na porcie 80, o których wiedziałem, że ich nie mam, ponieważ ostatnio host lokalny odpowiadał na porcie 80.

Okazuje się, że nieumyślnie zmieniłem ServerRoot, kiedy zamierzałem zmienić DocumentRoot (głupie, wiem), i chociaż nowy katalog ServerRoot istniał, nie zawierał plików konfiguracyjnych i innych potrzebnych plików Apache, co spowodowało, że nie powiodło się podczas uruchamiania. Komunikat o błędzie prawdopodobnie rozwiązuje ten scenariusz poprzez sformułowanie „ brakujące zależności ”.

W moim systemie Windows ustawienie ServerRoot z powrotem na C: / XAMPP / apache rozwiązało problem.

Gundark
źródło
2

Serwer Apache domyślnie działa na portach 80, 443. Problem dotyczy jednego lub obu portów jest zajęty. Zazwyczaj te dwa porty używają Skype lub VMware Workstation. Upewnij się, że nie działają. Najlepszym sposobem, aby upewnić się, że porty są wolne w systemie Windows, jest:

  • Kliknij przycisk Windows.

  • Na pasku wyszukiwania wpisz resmon , aby otworzyć monitor zasobów resmon.exe .

  • Otwórz porty nasłuchiwania , wyświetli się otwarte używane porty.

  • Teraz możesz zobaczyć, który proces używa portów 80 i 443.

  • Następnie możesz zabić proces albo z CMD za pomocą jego PID (który jest wyświetlany na monitorze zasobów), albo bezpośrednio z Menedżera zadań.

  • Aby zabić proces z CMD przy użyciu typu PID Taskkill /PID 26356 /F, gdzie 26356 to PID.

Mohamed Seif
źródło
2

Najlepszym rozwiązaniem dla użytkownika systemu Windows jest:

  1. Otwórz netstat (z PANELU STEROWANIA XAMPP)
  2. Znajdź PID procesu korzystającego z portu 80.
  3. Otwórz CMD z administracyjnym.
  4. Uruchom taskkill /pid PID(zamiast PID użyj pidu znalezionego z netstat)
    Hej, ciesz się Gotowe .....
JavaHacker
źródło
2

W porządku, bez portu 80, bez winy Skype! Mój problem był rzeczywiście dość prosty (i głupi), miałem dodatkowy ukośnik odwrotny (\) (w systemie Windows) po ścieżce określonej w dyrektywie DocumentRoot, więc dokonałem takiej zmiany i problem zniknął jak zupa z kaczki .

Mój index.php był w ścieżce „D: \ sites \ dummy”, a mój httpd.conf wyglądał tak:

<VirtualHost 127.0.0.2:80>
ServerName dummy.local
DocumentRoot "D:\websites\dummy\" #mistake here
</VirtualHost>
<Directory "D:\websites\dummy\"> #mistake here
    Require all granted
</Directory>

Więc po prostu zmień te dwie linie w ten sposób:

#first mistake fix:
DocumentRoot "D:\websites\dummy"
#second (similar) mistake fix:
<Directory "D:\websites\dummy">

... i wszystko jest już w porządku. Aby uniknąć takich błędów w przyszłości, zawsze kopiuj ścieżkę do dowolnego folderu, do którego chcesz się odwoływać, zamiast wpisywać go samodzielnie.

Simon.B
źródło
1

Dla mnie ten problem zaczął się, gdy hostowałem połączenie VPN na moim komputerze z systemem Windows 8.

Po prostu usunięcie połączenia z „Panelu sterowania \ Sieć i Internet \ Połączenia sieciowe” rozwiązało problem.

Zar
źródło
1

Pamiętaj, że przy każdej zmianie domyślnych portów przeglądarka nie będzie o tym wiedzieć. 80i 443wydają się być w jakiś sposób standardowe, więc na przykład, jeśli zmieniłeś się 80na 8080, będziesz musiał uzyskać dostęp do swoich stron w ten sposób:

localhost:8080/path_to_your_website.php

phil294
źródło
1

Najlepsze rozwiązanie

otwórz panel sterowania XAMPP, kliknij config dla Apache, a następnie kliknij Apache (httpd.config) .now w edytorze tekstu. ctrl + f -> znajdź „Listen 80” i zastąp go „Listen 8079” bez cytatów :) ale teraz musisz go używać w ten sposób http: // localhost: 8079 /

PS, próbowałem zmienić ustawienia portu dla skype, zatrzymując usługę Web Deployment Agent, której nie mogłem znaleźć w Windows 10, cmd -> net stop http, i inne metody, ale nic nie działało poza tym.

osamakhair
źródło