XAMPP: Apache konnte nicht gestartet werden (Windows 10)

89

Ich benutze XAMPP und kann Apache starten, aber MySQL ( phpMyAdmin ) startet!

Wenn ich anfange, erhalte ich diesen Fehler;

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

Ich suche danach und ändere den Port von Apache unter Konfiguration -> Dienst und Porteinstellung. Ich habe;

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

Ich deinstalliere auch Skype (Windows 8/10 / Metro-Version). Nichts funktioniert. In der httpd.conf- Datei habe ich;

Listen 122
ServerName localhost:122

Ich starte es über apache_start.batund bekomme;

(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

Bitte beachten Sie, dass nicht alle Protokolldateien vorhanden sind! Skype wird deinstalliert.

Félix Desjardins
quelle
Haben Sie überprüft, ob der Port blockiert ist?
Rizier123
1
Versuchen Sie auch als Administrator zu laufen
nonamorando
3
Führen Sie Skype aus, wenn Sie versuchen, Apache zu aktivieren? Wenn ja, ändern Sie die Skype-Einstellungen.
iSaumya
3
Sie können keinen localhost:80Port haben und abhören 122. Wählen Sie den zu hörenden Port.
Lorenz Meyer
Ok, ich habe einige Änderungen vorgenommen: @ Rizier123 -> Ich überprüfe, bin mir aber nicht sicher, ob es der gute Weg ist. @ Will-Campbell -> Ja, aber nichts weiter. @iSaumya -> Skype ist nicht auf meinem Computer. @ Lorenz-Meyer -> Ich habe jetzt Listen 122undServerName localhost:122
Félix Desjardins

Antworten:

223

Update: 15. Mai 2018:

Mit dem neuesten Windows 10-Update wurde der World Wide Web Publishing Service (auf Deutsch: WWW-Publishingdienst ) (erneut) aktiviert . Dies kann von den Optionen abhängen, die Sie während der Konfiguration des Updates auswählen, das Sie anschließend vornehmen können.

Update: 4. August 2015:

Wenn Sie Windows 10 neu installiert haben, verfügen Sie möglicherweise nicht über den Word Wide Web Publishing-Dienst . In diesem Fall sollte eine einfache WAMP / XAMPP-Installation einwandfrei funktionieren.

Wenn dies nicht der Fall ist, installieren Sie Visual C ++ Redistributable und installieren Sie WAMP / XAMPP erneut.


Ich hatte ein ähnliches Problem mit WAMP. In Windows 10 TP ist der Word Wide Web Publishing-Dienst vorinstalliert. Dies hängt mit IIS zusammen und Sie können es entfernen, wenn Sie es nicht benötigen.

Dies blockiert den Port 80und lässt Apache seltsam handeln. Sie können Folgendes tun und es erneut versuchen.

  • Gehen Sie zu Start und geben Sie services.msc ein
  • Scrollen Sie im Fenster "Dienste" nach unten, um den World Wide Web Publishing-Dienst zu finden .
  • Klicken Sie mit der rechten Maustaste darauf und wählen Sie Stopp .

Dies sollte Port 80 frei machen und ein Neustart von WAMP / XAMPP sollte Sie zum Laufen bringen!

Es gibt andere Möglichkeiten, dies zu beheben. Siehe WAMP unter Windows 10 zum Laufen bringen .

Praveen Apulien
quelle
7
Was ist, wenn "World Wide Web Publishing Service" nicht als Dienst aufgeführt ist?
Xtremefaith
6
Der Name des Dienstes lautet W3SVC, während die Beschreibung World Wide Web Publishing Service lautet . Ich dachte anfangs nicht, dass ich den Dienst hatte, weil ich den beschriebenen Dienst beim Sortieren nach Namen nicht sah.
Jake Z
1
Ja, ich hatte auch dieses Problem, es sagte mir immer wieder "Ein Prozess mit einer PID von 4 verwendet Port 80", als ich es überprüfte, der Prozessname war "System". Ich dachte immer, ich könnte meinen PC durcheinander bringen, wenn ich versuchen würde, diesen Prozess zu stoppen. Aber das hat perfekt funktioniert. Vielen Dank
Kebab Programmer
1
Für diejenigen, die den Uniform Server Z verwenden (was großartig ist!), Kann ich bestätigen, dass dies auch für diesen Server funktioniert.
MisterM
1
@PraveenPuglia hum .. interessanter Kommentar, arbeite für mich! Ich versuche, Datei zu entfernen "ntoskrnl.exe" ist eine Ursache Port 4 ... viel Google-Suche sagen Virus ... nette Dienste zu stoppen ist Arbeit lol .. danke bro
KingRider
36

Die Lösung dieses Problems ist einfach:

  1. Öffnen Sie eine Eingabeaufforderung mit Administratorrechten
    • Suchen Sie "cmd", klicken Sie mit der rechten Maustaste darauf und wählen Sie "Administrator".
  2. net stop W3SVCGeben Sie in die Eingabeaufforderung und die Eingabetaste ein.

Sie können jetzt in WAMPP klicken und alle Dienste neu starten. Öffnen Sie Ihren Browser und navigieren Sie zu "localhost".

Wenn Sie W3SVC erneut starten müssen,

  1. Öffnen Sie eine Eingabeaufforderung mit Administratorrechten
  2. net start W3SVCGeben Sie in die Eingabeaufforderung und die Eingabetaste ein.
DIANGELISJ
quelle
In der veröffentlichten Version von Windows 10 wird "Systemfehler 3 ist aufgetreten. Zugriff verweigert" angezeigt.
Mike_Laird
Sie müssen Administrator sein. Versuch es noch einmal.
DIANGELISJ
Ja, danke DIANGELISJ. In Windows 10 ein Rechtsklick auf cmd und dann Ihre Anweisungen oben, dann ein Rechtsklick auf httpd.exe und ich habe Apache wieder zum Laufen gebracht. Das Feld httpd.exe ist schwarz leer, aber Apache funktioniert.
Mike_Laird
Ich hatte das gleiche Problem unter Windows 10 mit XAMPP. Nach jedem Neustart musste ich zum XAMPP-Kontrollfeld gehen und die Apache- und MySQL-Dienste neu installieren und neu starten. Das Ausführen des XAMPP-Kontrollfelds als Administrator scheint es behoben zu haben, danke!
SharpC
Dies ist die richtige Antwort. Sie müssen lediglich IIS herunterfahren und dann xampp starten. Systemsteuerung - Admin - Internetinformationsdienste - "Stop" Das war's. Einfach wie Torte. (Das Gleiche wie oben, nur über Schnittstellen.)
Elaine Ossipov
17

Ich habe einen Weg gefunden, dieses Problem zu lösen:

  1. Wenn Sie auch Skype verwenden, deaktivieren Sie das Feld für die Verwendung der Ports 80 und 443 (Extra -> Einstellungen -> Erweitert -> Verbindungen -> Deaktivieren Sie Port 80 und 443).
  2. Starten Sie Skype und XAMPP neu.

Wenn dies nicht funktioniert,

  1. Gehen Sie zu Start und geben Sie "services.msc" ein.
  2. Suchen Sie nach "World Wide Web Publishing Service".
  3. Klicken Sie mit der rechten Maustaste auf diesen Eintrag, wählen Sie "Stop" und starten Sie XAMPP neu.

Wenn dies nicht funktioniert hat und "World Wide Web Publishing Service" nicht verfügbar war,

  1. Gehen Sie zur Systemsteuerung, navigieren Sie zu "Programme deinstallieren" und dann zu "Windows-Funktionen ein- / ausschalten".
  2. Suchen Sie "Internetinformationsdienste".
  3. Aktivieren Sie das Kontrollkästchen und klicken Sie auf "OK".
  4. Starten Sie neu und wiederholen Sie den zweiten Ansatz (services.msc).
Fazal
quelle
Danke, aber die Antwort ist bereits beantwortet. Vielleicht könnte es jemandem helfen, ese (:
Félix Desjardins
Ihre Antwort konnte mir nicht helfen, ich fand meine eigene Lösung.
Trotzdem
1
Brillant! Es war nur Skype, das Apache blockierte! Mein Lieblingsteil des Prozesses: Nachdem ich die Skype-Ports 80 und 443 ausgeschaltet hatte, musste ich Skype beenden. Es wurde eine Warnung angezeigt (umschrieben): "Wenn Sie Skype beenden, können Sie es nicht verwenden." Nun, duh!
CJ Dennis
14

Sie können den Port von Apache ändern:

  1. Wechseln Sie zu C: \ xampp \ apache \ conf \ httpd.
  2. Suchen Sie durch Kombination Strg + F Zeile #Listen 12.34.56.78:80 und ändern Sie die 80 in eine beliebige, zum Beispiel 81
  3. Das gleiche gilt für Listen 80 und wechselt zu 81
  4. Das gleiche gilt für ServerName localhost: 80 wechselt zu 81.
  5. Wechseln Sie zu C: \ xampp \ apache \ conf \ extra \ httpd-vhosts und ändern Sie 80 in 81

NameVirtualHost *: 80 hier

VirtualHost *: 80 und hier (zweimal)

  1. Starten Sie Apache neu

Geben Sie zum Aufrufen Ihrer Webseite Folgendes ein: http: // localhost: 81 / index.html

Experimentator
quelle
Ich werde dieses empfehlen
Shuhratjan Nizamov
5
  1. Drücken Sie Windows+ Rund geben Sie ein regedit.

  2. Gehe zu

     HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP

    Ändern Sie den Wert Startauf 4, was bedeutet, dass deaktiviert ist.

  3. Starte deinen Computer neu.

Mach Nhu Vy
quelle
1
Das Windows 10 "November Upgrade" verursachte mein Problem - alle hatten zuvor mit der älteren Version von Win 10 funktioniert. Ich hatte weder W3svc noch Skype. Diese Lösung hat es geschafft! Danke @Do Nhu Vy!
Jim M
5

Ich habe dieses Problem auch bei mir behoben, musste aber einige Dinge ändern. Ich benötige, dass ich auf meinem Windows 10-Computer meine C # - und Visual Studio-Entwicklungsumgebung behalte, damit ich keine Dienste basteln wollte. Ich musste lediglich die neueste Version von XAMPP herunterladen und die Überwachungsports für 80 und 443 ändern. Sie befanden sich in zwei Dateien:

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

Listen 122
ServerName localhost:122

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

Listen 444

Durch Ändern der obigen Angaben von Port 80 auf 122 und 443 auf 444 konnte ich Apache ausführen und Seiten bereitstellen, während für meine ASP.NET- Entwicklung alles andere gleich blieb . Hoffentlich hilft das jemandem da draußen. Am Ende ist dies eine sehr einfache Lösung.

Richten Sie Ihren Browser auf: http://localhost:122

Paul Carlton
quelle
Ich denke, das ist der einfachste und einfachste Weg. Ich danke dir sehr!
Diptangsu Goswami
+1, weil das Herunterfahren von .NET Services für mich definitiv keine Option ist. Natürlich möchte ich IIS und Apache gleichzeitig ausführen!
Alan
4

Ich habe das gleiche Problem, aber die vorherigen Lösungen führen dazu, dass wir den Port ändern, anstatt die genaue Lösung zu erhalten. Ich habe nach den Ports einfacher HTTP- und HTTPS-Protokolle gesucht und gefunden.

Wenn bereits eine andere Anwendung ausgeführt wird, die HTTP- oder HTTPS-Ports auf dem lokalen Computer, tritt dieses Problem offensichtlich nur aufgrund der Ports auf, die bereits verwendet werden und ausgelastet sind .

Deshalb funktionierte es nach dem Ändern der Portnummer. Aber anstatt den Port im XAMPP-Server zu ändern, habe ich die folgenden Methoden verwendet und es funktioniert für mich.

Hier ist der folgende Schritt, den ich während dieser Korrektur erhalten habe.

  1. Fehler, den ich in der XAMPP Server-Anwendung erhalten habe.

    XAMPP-Serverfehler

  2. In der oberen Ecke befindet sich eine Schaltfläche namens Netstat . Dies ist sehr nützlich, um die laufenden Ports des Systems nachzuschlagen.

    Netstat-Schaltfläche

  3. Dies ist die Netstat-Anwendung, in der ich eine Anwendung gefunden habe, die bereits ausgeführt wird und die Portnummer 443 verwendet. In meinem Fall war es vmware-hostd.exe . Möglicherweise handelt es sich um eine andere Anwendung. Versuchen Sie, nach Port 80 (HTTP) oder Port 443 (HTTPS) zu suchen.

    Netstat-Anwendung geöffnet

  4. Ich habe gerade das Windows geöffnet Task - Manager , dass die Anwendung ausgewählt vmware-hostd.exe und tötete den Prozess durch die Verwendung von End Process - Taste. Ich habe diesen Prozess beendet, der Port 443 verwendet hat. Und diese Anwendung wurde im Moment nicht benötigt.

    Öffnen Sie den Task-Manager und beenden Sie diese Anwendung

  5. Nach dem Beenden der Anwendung im Windows Task-Manager ist Apache jetzt verfügbar. Hier ist der Beweis.

    Apache arbeitet


HINWEIS: * Wenn Sie eine Anwendung gefunden haben, die verwendet wird, bedeutet der HTTP- oder HTTPS- Port Port 80 oder Port 443, und die Anwendung ist nicht wichtig oder nicht wichtig, und beenden Sie nur den Prozess dieser Anwendung.

Andernfalls müssen diese Schritte nicht ausgeführt werden. Dann müssen Sie überlegen, den Port Ihrer XAMPP-Anwendung wie in den vorherigen Antworten angegeben zu ändern. *

Dipak Bari
quelle
4

Ich habe alles versucht, was in den Antworten hier aufgeführt ist, aber keiner von ihnen hat funktioniert.

Dann habe ich XAMPP nur noch mit Administratorrechten neu gestartet, indem ich:

Startmenü - Klicken Sie mit der rechten Maustaste auf XAMPP - wählen Sie Als Administrator ausführen

Es funktionierte. So einfach ist das.

Ich habe IIS-Dienste deinstalliert, WWW-Dienste gestoppt, Ports wieder auf 80 geändert, alle Apache- und MySQL-Verbindungen von der Windows 10-Firewall blockiert, aber ja, es funktioniert immer noch!

Tarik
quelle
2

Nach dem Herumspielen müssen Sie nur noch zwei Zeilen in der Datei httpd.conf ändern :

Ändern Sie "Listen 80" in "Listen 122" (oder alles andere, was Sie wollen)

und

"Servername Localhost: 80" bis "Localhost: 122" (oder der Port, den Sie oben geändert haben)

Dann sollte alles richtig losgehen: P.

Msquared86
quelle
2

Es sieht so aus, als gäbe es viele Möglichkeiten. Die Antwort hängt von Ihrer Windows-Installation ab. Hier ist meine Erfahrung, wenn Sie das gleiche Problem bei einer Neuinstallation von Windows 10 haben und das Problem mit dem folgenden Schritt beheben:

  1. Installieren Sie Visual C ++ Redistributable
  2. Öffnen Sie XAMPP und wählen Sie im Apache-Dienst die Option Konfigurieren
  3. Ändern Sie den Port 80 in 9000 oder 81 oder was auch immer Sie in der Datei httpd.conf in der Zeile wollenListen 80
  4. Ändern Sie den Port auf httpd-ssl.conf und wechseln Sie Listen 443zuListen 441
  5. Starten Sie XAMPP neu und starten Sie den Apache-Dienst. Für mich geht das.

Hinweis : Ich verwende XAMPP Version 5.6.15 und XAMPP Control Panel Version 3.2.2.

Gujarat Santana
quelle
2
Guter Fang - stellen Sie sicher, dass die http und https Ports nicht in Konflikt stehen
Aaron Hudon
1
  • Gehen Sie zum Startmenü und geben Sie Windows-Funktionen ein- oder ausschalten ein
  • Deaktivieren Sie Internetinformationsdienste
  • Drücken Sie OK
Clicia Scarlet
quelle
1

In meinem Fall war es ein einfacher Fall, IIS zu entfernen, da in Windows 10 IIS (Internet Information Service) vorinstalliert ist. Dies steht in Konflikt mit XAMPP, da beide Server versuchen, den Port 80 zu verwenden. Wenn Sie IIS und nicht verwenden möchten Verwenden Sie weiterhin XAMPP

  1. Gehen Sie zu Ausführen / Suchen in Windows 10
  2. Suchen Sie nach "optionalen Funktionen".
  3. Deaktivieren Sie auf dieser Liste den Internetinformationsdienst (IIS).

Dann neu starten .

almaruf
quelle
1

Ich fand, dass das Ausführen von apache_start in mir den genauen Fehler und in welcher Zeile es war.

Mein Fehler war, dass ich ein Leerzeichen zwischen localhost: und dem Port gelassen habe .

Aaron Rabinowitz
quelle
Was ist "Ausführen von apache_start in"? Fehlt zum Beispiel ein Wort?
Peter Mortensen vor
Kopieren und Einfügen funktioniert besser als Tippen (es sei denn, natürlich wird GNOME verwendet - vermeiden Sie GNOME um jeden Preis).
Peter Mortensen vor
1

Der World Wide Web Publishing- Dienst war in meinem Fall nicht der einzige, der dafür verantwortlich war.

Ich habe IIS installiert, daher musste ich den gesamten HTTP-Dienst beenden.

Dies sind die Befehle, die ich in CMD (als Administrator) ausgeführt habe:

net stop W3SVC
net stop http
Ceparu Stefan
quelle
1

Wenn Sie SQL Server installiert haben , blockieren einige seiner Dienste möglicherweise den Port, den XAMPP benötigt. Ich habe mein Problem durch Deaktivieren von SQL Server Reporting Services gelöst und jetzt startet Apache ohne Probleme.

Öffnen Sie einfach die services.msc, scrollen Sie nach unten und suchen Sie nach SQL Server Reporting Services . Klicken Sie mit der rechten Maustaste darauf und klicken Sie Stop.

Peyman.H
quelle
0

Tatsächlich ist standardmäßig IIS (Microsoft, .NET usw.) installiert.

  • Gehen Sie zur Systemsteuerung
  • Schalte Windows Funktionen ein oder aus...
  • Deaktivieren Sie unter (IIS) Internetinformationsdienste die Option (WWWS) für World Wide Web Services.
  • OK klicken.

Dies könnte eine dauerhafte Lösung sein. :) :)

Xyren Poh
quelle
0

Dieser Rat war großartig. Ich hatte das gleiche Problem, aber meine Lösung war anders, weil ich so dumm war, dass ich das Verzeichnis umbenannt habe, in dem sich XAMPP befand, und da ich viele andere Programme installiert hatte, konnte ich es nicht wieder umbenennen.

In meinem Fall gab es das ursprüngliche Verzeichnis C: \ Programme \ Xampp und es wurde in C: \ PROGRAMS_ \ Xampp umbenannt, und das war der Fehler.

Die Lösung bestand darin, alle Verweise auf C: \ Programme zu finden und sie im XAMPP-Verzeichnis in C: \ PROGRAMS_ umzubenennen , da aus irgendeinem Grund während der Installation absolute Pfade geschrieben werden, nicht relative. Natürlich gibt es auch einige Referenzen in der Registrierung.

Mayk
quelle
Dies scheint ein sehr spezifischer Fall zu sein und scheint nicht mit dem Szenario der Frage zu korrespondieren.
Dakab
Ja, ich stimme zu, aber ich denke, es kann jemandem helfen, weil ich in der gleichen Situation war (hatte frisches Windodw 10) und der Fehler der gleiche war. Vielleicht ist dies nicht genau das gleiche Szenario, aber ich denke, jemand findet das hilfreich .
Mayk
0

Es geht einfach darum, Port 80 für Ihren Apache-Dienst verfügbar zu machen. Ich habe das Problem folgendermaßen gelöst:

  1. Klicken Sie unter Windows 10 mit der rechten Maustaste auf die Schaltfläche Start und wählen Sie Ausführen
  2. Geben Sie services.msc ein und klicken Sie aufOK
  3. Suchen Sie den World Wide Web Publishing-Dienst und klicken Sie mit der rechten Maustaste darauf
  4. Wählen Sie Eigenschaften
  5. Ändern Sie den Wert für den Starttyp in Automatisch (verzögerter Start).
  6. Starte deinen Computer neu.

Hier hast du es. Alles ist wieder normal.

Rancantemos
quelle
0

Das war einfach für mich!

Versuchen Sie, die XAMPP-Systemsteuerung als Administrator auszuführen.

Ahmad Jahanbin
quelle
0

Ich habe alle oben genannten Lösungen ausprobiert. Aber es funktionierte in keiner Weise.

Schließlich habe ich XAMPP einfach deinstalliert und erneut installiert . Dann hat es bei mir geklappt.

Jetzt kann ich den Server an jedem Port (einschließlich 80) ausführen .

Sathish
quelle
0

Schritte:

  • Öffnen Sie die XAMMP-Systemsteuerung
  • Öffnen Sie Apache Config und wählen Sie die Konfigurationsdatei Apache - xammp - aus
  • Suchen Sie nach "Port 443" und ändern Sie es dann in einen anderen Port, sagen wir 4433
  • Dann neu starten.
C Williams
quelle
0

Überprüfen Sie, ob Ihre PHP-Installation funktioniert.

Überprüfen Sie, welche php.ini- Datei Sie in der Apache-Konfiguration ausführen, und verwenden Sie sie, um php.exe auszuführen ...

Rubber Telly Media
quelle
0

Möglicherweise haben Sie gerade Ihr Windows auf Version 1903 (OS Build: 18362.239) aktualisiert oder die Benutzerkennwörter geändert. Obwohl ich alle Portkonflikte beseitigt hatte , erhielt ich immer noch die vom OP zu Beginn dieses Beitrags beschriebenen Nachrichten.

Am Ende habe ich es durch ein Upgrade auf XAMPP auf 7.3.7 geheilt. (Wenn Sie zur Neuinstallation gezwungen werden, können Sie auch gleichzeitig ein Upgrade durchführen!)

Das Problem trat jedoch erneut auf, als ich erneut das Kennwort für den Root-Benutzer änderte.

Die Konsolenfehlermeldungen maskierten die Tatsache, dass die Tabelle mysql.user beschädigt war.

Überprüfen Sie die Datei mysql_error.log . Wenn ein schwerwiegender Fehler angezeigt wird: Berechtigungstabellen können nicht geöffnet und gesperrt werden: Der Index für die Tabelle 'Benutzer' ist beschädigt. versuchen , es zu reparieren , dann auf einen Blick diese .

Schlechter Verlierer
quelle
0

Ich habe das gleiche Problem und habe es durch Deinstallation des WAMP- Servers gelöst .

Mikami
quelle