webentwicklung-frage-antwort-db.com.de

XAMPP - Port 80 wird von "Prozess kann nicht geöffnet werden" mit PID 4 verwendet! 12

Ich habe zwei Tage lang versucht, herauszufinden, wie dieses Problem behoben werden kann. Ich bin neu in so etwas, also würde ich es begrüßen, wenn mir jemand sagen könnte, wie ich es reparieren kann.

Ich habe versucht, Skype zu löschen, aber das hat nicht funktioniert. Ich habe versucht, das World Wide Web auszuschalten. IIS aus, nichts scheint zu funktionieren.

12:51:22 PM  [Apache]   Problem detected!
12:51:22 PM  [Apache]   Port 80 in use by "Unable to open process" with PID 4!
12:51:22 PM  [Apache]   Apache WILL NOT start without the configured ports free!
12:51:22 PM  [Apache]   You need to uninstall/disable/reconfigure the blocking application
12:51:22 PM  [Apache]   or reconfigure Apache and the Control Panel to listen on a different port
171
user3097839
  1. Öffnen Sie eine CMD-Eingabeaufforderung als Administrator und führen Sie den folgenden Befehl aus:

    net stop was /y
    
  2. Öffnen Sie das Dialogfeld Ausführen (drücken Sie Win+R), dann tippe: services.msc

    Suchen Sie dann nach World Wide Web Publishing-Dienst (WWW-Publishing-Dienst) und Web Deployment Agent-Dienst und halte sie auf. Sie sollten sie auch deaktivieren.

  3. Starte Apache erneut mit XAMPP :)

Link Ref: https://www.sitepoint.com/unblock-port-80-on-windows-run-Apache/

327
Vo Quoc Cuong

Eine andere sehr einfache Option ist, Apache so einzustellen, dass es auf einem anderen Port lauscht. Klicken Sie dazu auf die Schaltfläche "Config" in derselben Zeile wie das Modul "Apache", wählen Sie die Datei "httpd.conf" in der Dropdown-Liste aus und ändern Sie die Zeile "Listen 80" in "Listen 8080". Speichern Sie die Datei und schließen Sie sie.

Jetzt wird Port 80 vermieden und Port 8080 ohne Probleme verwendet. Das einzige zusätzliche, was Sie tun müssen, ist sicherzustellen, dass localhost:8080 in den Browser eingefügt wird, damit der Browser auf Port 8080 schaut. Andernfalls wird standardmäßig Port 80 verwendet und Ihre lokale Site wird nicht gefunden.

Dazu müssen Sie Apache neu starten, damit die Änderung wirksam wird.

Voila! Fest.

135
gtr1971

Ändern Sie in httpd.conf die folgenden Zeilen und starten Sie die Anwendung neu:

  • Listen 80 bis Listen 8080
  • ServerName localhost:80 bis ServerName localhost:8080

Wenn Sie auf "Start" klicken, kann die Anwendung weiterhin anzeigen, dass ein Fehler wie "Port 80 in Verwendung durch" Prozess kann nicht geöffnet werden "mit PID ..." vorliegt, der jedoch weiterhin funktioniert.

Wenn der Fehler "Port 443 wird von" Prozess kann nicht geöffnet werden "mit PID ..." enthält, müssen Sie sowohl httpd.conf als auch httpd-ssl.conf ändern.

In httpd-ssl.conf ändern:

  • Listen 443 bis Listen 4433
  • <VirtualHost _default_:443> bis <VirtualHost _default_:4433>
  • ServerName www.example.com:443 bis ServerName www.example.com:4433
42
Ogglas

Aus diesem Artikel extrahiert:

  1. Gehen Sie zu Ihrem Ausführungsbefehl und geben Sie Folgendes ein:

    netstat -o -n -a | findstr 0.0:80

Die letzte Nummer hier ist die Prozess-ID, die sie verwendet. Dies ist meistens ein IIS oder ein anderer Web-bezogener Dienst, der leicht zu beheben ist, aber von Zeit zu Zeit (sehr oft scheint es, als würde man sich bei Google umsehen) scheint es PID 4 zu sein - was der Windows-Aufgabe zufolge Manager ist der NT-Kernel und das System. Nicht sehr hilfreich, wenn man dies tötet, führt dies zu einem Bluescreen des Todes.

Das Ding, das Port 80 blockiert, hat nichts mit IIS oder irgendetwas im Web zu tun, es ist SQL Server Reporting Services. Deaktivieren Sie alle Elemente, die SQL Server Services ähneln, und starten Sie Apache erneut, ohne dass ein Neustart erforderlich ist.

Also Probleme mit PID 4 hören auf Port 80? Überprüfen Sie Ihre SQL-Dienste und deaktivieren Sie sie.

UPDATE - Kommentar von @sangam:

Arbeitete bei einem Schuss. In meinem Fall stellte sich heraus, dass es sich um SQL Server Reporting Services handelte. Ich habe den Dienst für alle installierten Instanzen gestoppt und er funktionierte (ohne Neustart des Computers).

38
chridam

Daher habe ich das gleiche Problem beim Versuch, den Apache-Dienst zu starten, und möchte meine Lösungen mit Ihnen teilen. Hier einige Hinweise zu Diensten oder Programmen, die möglicherweise Port 80 verwenden:

  1. Skype : Skype verwendet standardmäßig Port 80/443. Sie können dies in Tools -> Options -> Advanced -> Connections ändern und das Kontrollkästchen "Port 80 und 443 für zusätzliche eingehende Verbindungen verwenden" deaktivieren.

  2. IIS: IIS verwendet standardmäßig Port 80, sodass Sie ihn herunterfahren müssen. Sie können die folgenden zwei Befehle verwenden: net stop w3svc, net stop iisadmin.

  3. SQL Server Reporting Service : Sie müssen diesen Dienst beenden, da er möglicherweise Port 80 belegt, wenn IIS nicht ausgeführt wird. Gehen Sie zu lokalen Diensten und beenden Sie es.

  4. VMware Workstation : Wenn Sie VMware Workstation ausführen, müssen Sie auch den VMware Workstation-Server-Port 443 stoppen.

Diese Optionen funktionieren bei mir sehr gut und ich kann den Apache-Dienst ohne Fehler starten.

Die andere Möglichkeit besteht darin, den Apache-Listen-Port von httpd.conf zu ändern und eine andere Portnummer festzulegen.

Hoffe, diese Lösung hilft jedem, der wieder vor dem gleichen Problem steht.

33
Peter T.

Möglicherweise müssen Sie den "Web Deployment Agent Service" beenden.

Drücken Sie Win + R und geben Sie services.msc ein

Klicken Sie mit der rechten Maustaste auf den Web Deployment Agent-Dienst und wählen Sie "Beenden".

Starten Sie XAMPP neu

Nach einem Doppelklick auf "Web Deployment Agent Service" können Sie den Starttyp auf "Manuell" setzen, so dass der "Web Deployment Agent Service" nicht automatisch startet

32
Stephen Burrows
  1. Öffnen Sie den Task-Manager (Strg + Alt + Löschen).
  2. Gehen Sie zur Registerkarte "Details".
  3. Nach PID-Nummer sortieren.
  4. Beenden Sie den Prozess, bei dem die PID-Nummer verwendet wird, die fälschlicherweise angegeben wurde.
  5. Starten Sie XAMPP neu.
6
wildebeest

Da die Frage von @johnkarka kommentiert wurde, wird dieser Port auch vom SQL Server-Berichterstellungsdienst verwendet. Nachdem dies beendet wurde, fing Apache gut an.

  1. Wechseln Sie zu "SQL Server Configuration Manager"
  2. Klicken Sie auf "SQL Server Reporting Service" und beenden Sie es

enter image description here

Das Komische ist, dass IIS in derselben Konfiguration, jedoch nicht in Apache, einwandfrei funktionierte und den SQL Reporting-Dienst stoppen musste, damit er auf dem Standardport (80) funktioniert.

4
Hammad Khan

Was für mich funktionierte, war das Stoppen der Internetinformationsdienste (IIS). Wenn Sie Windows 7 verwenden, klicken Sie auf die Schaltfläche Start und geben Sie in das Suchfeld "iis" ein. Klicken Sie auf "Internetinformationsdienste-Manager". Wenn das Fenster geöffnet wird und Sie keines der Symbole ausgewählt haben, sollten Sie nur in der Lage sein, im rechten Aktionsbereich auf Stopp zu klicken. Mein XAMPP Apache hat gleich angefangen. Hoffe, es hat alles für Sie geklappt.

4
G.P. Greenleaf

In Windows 10, um Port 80 freizugeben:

in meinem Fall öffne ich "Dienste" über "Windows durchsuchen" (in der linken Ecke des Bildschirms), beende dann alle SQL Server-Dienste MSSQLSERVER und es funktioniert wieder

3
N.P

Ich hatte das gleiche Problem, aber in meinem Fall lief Apache bereits und aus irgendeinem Grund zeigte das XAMPP-Konfigurationstool dies nicht an. Dies geschah, nachdem ich XAMPP nach der Installation zum ersten Mal gestartet hatte. Nach dem Absturz der anderen Apache-Instanzen war alles in Ordnung und die Ports 80 und 443 waren wieder frei.

Vergewissern Sie sich daher, bevor Sie Änderungen an Ihrem System vornehmen, dass etwas so offensichtliches wie das oben beschriebene nicht passiert.

2
magnetronnie

Ich hatte auch dieses Problem und das Beenden der Dienste über Port 80 hat nicht geholfen. Ich habe es folgendermaßen gelöst (auf einer französischen Tafel ):

  1. Starten Sie RegEdit
  2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP
  3. Ändern Sie den Wert von "Start" auf 4 (deaktiviert)
  4. Starte deinen Computer neu

Ich bin nicht sicher, wie sich dies auf andere Dienste auswirkt, aber es hat das Problem dauerhaft gelöst, und bis jetzt habe ich kein Problem gesehen.

Unter Windows 10.

2
vard

Wenn SQLServer Reporting Services lokal ausgeführt wird, müssen Sie dies ebenfalls beenden.

2
Senthil

"SQL Server Reporting Service" verursachte Probleme in meinem System. Nach dem Stoppen von "SQL Server Reporting Service" funktionierte Apache einwandfrei

2
yadavr

Ich habe das gleiche Problem, ich habe das Problem gelöst, nur deaktiviert

"BranchCache-Dienst" in Diensten.

Irgendwie wird Windows aktualisiert, dieser Dienst wird beim Start ausgelöst und verwendet 80 Ports. Wenn Sie über netstat prüfen, sehen Sie, dass das System verwendet wird, können jedoch nicht nachvollziehen, welcher Dienst verwendet wird.

1

Klicken Sie in der Xampp-Systemsteuerung auf Dienste (Dateiname ist services.msc, zusätzliche Informationen).

Suchen Sie zuerst nach IIS, wenn es ausgeführt wird. Beenden Sie es (beenden Sie diese Dienstoption auf der linken Seite, nachdem Sie auf den Dienstnamen geklickt haben.). Dann ist dies das Hauptproblem: Suchen Sie nach dem Webbereitstellungsdienst (nicht der genaue Name, obwohl der Webbereitstellungsdienst am Anfang steht). Beenden Sie diesen Dienst auch. Versuchen Sie es erneut und Apache sollte funktionieren.

Wenn Sie Skype ausführen, beenden Sie dies ebenfalls, führen Sie Apache aus und starten Sie dann Skype

1
ytpillai

Für Benutzer mit ASP.NET, C # oder SQL Server-Benutzern: Wenn Sie SQlServer OR Visual Studio verwenden, tritt möglicherweise ein Fehler in Ihrem Port auf. Am einfachsten ist es, wenn Sie unter Command> servies.msc nach dem SQL Server Reporting Service suchen und ihn dann stoppen.

1
Sumanstm21

Ich hatte das gleiche Problem, als ich MS WebMatrix installiert hatte, IIS Server wurde der Port 80 blockiert, auf dem XAMPP lief. Ich habe versucht, den WWW-Publishing-Dienst zu finden und zu beenden, konnte ihn jedoch nicht auf der Liste finden. Der beste Weg ist ein Portwechsel.

Bitte beziehen Sie sich dabei
Linkreferenz

1
wobbuffet

XAMPP - Port 80 wird von "Prozess kann nicht geöffnet werden" mit PID 4! 12 verwendet

führen Sie den Kommentar in der CMD-Jobliste aus

und finden Sie heraus, welche PID und welcher Prozessname sich auf diesen jetzt geöffneten Fenster-Task-Manager beziehen

sie können den Fenster-Task-Manager auch mit STRG + ALT + ENTF öffnen

klicken Sie nun auf die Prozessregisterkarte und suchen Sie den Namen, der PID verwendet, und klicken Sie mit der rechten Maustaste darauf, um den Prozess zu beenden

starte jetzt wieder die xampp

0

Der Web Deployment Agent Service wird mit WebMatrix bereitgestellt und war die Ursache meiner Probleme. Es kann auch mit anderen Anwendungen verbreitet werden, die mit dem Microsoft Web Platform Installer installiert wurden.

Deinstallieren Sie es löste meine Probleme!

0
brunodotcom

Ich hatte das gleiche Problem. Nach einigem googeln auf dieser Seite angekommen. Da ich vermute, dass dieser Fehler verschiedene Gründe haben kann, höre auf meine Erfahrung:

Xampp Red Line Log:

12:53:54 PM  [Apache] Problem detected!
12:53:54 PM  [Apache]   Port 443 in use by "Unable to open process" with PID 3908!
...

Schließlich stellte sich heraus, dass ich diese Codezeile in meinen PHP-Codes hatte:

$res = file_get_contents("http://$_SERVER[HTTP_Host]$_SERVER[REQUEST_URI]");

Der Zweck dieses Code-Teils war es, irgendwo auf meinem Server eine Spiegelung des PHP-Ergebnisses zu erhalten. Aber es steckt nur in einer Schleife, die ihren eigenen Inhalt bekommt!

Ich habe den Code repariert:

$res = file_get_contents(str_replace("my_uri.php" , "mirror_uri.php" , "http://$_SERVER[HTTP_Host]$_SERVER[REQUEST_URI]"));

Dann habe ich Apache neu gestartet ... und dieser Apache-Fehler ist nie wieder aufgetreten.

Manchmal ist es also ein guter Ansatz, nach wahrscheinlichen Haltepunkten in Ihrem Code zu suchen.

0
Hossein Khalesi

wenn der Dienst http.sys ist

Sie müssen die gebundene IP-Adresse für http.sys ändern

netsh http add iplisten ipaddress = ::

Funktioniert einwandfrei, ohne das Betriebssystem neu zu starten.

0

Bei mir funktioniert normalerweise: - Skype deaktivieren - Alle in services.msc angezeigten SQL Server-Prozesse deaktivieren - World Wide Web Publishing in services.msc deaktivieren

0
Iwona Kubowicz

Dies funktioniert normalerweise nach dem Stoppen von IIS Server und Skype

0
N A