Hallo,
nachdem ich Änderungen an httpd.conf vorgenommen habe, möchte ich Apache als Dienst in Xampp neu starten. Ich habe es zuerst gemäß Nelsons Rat entfernt:
sc delete apache2.2
Wenn ich svc im XAMPP-Kontrollfeld überprüfe, wird der Dienst anscheinend neu gestartet, d. h. ich kann ihn mit dem oben genannten Befehl erfolgreich wieder löschen, aber im XAMPP-Kontrollfeld steht „gestoppt“ (grau auf grauem Hintergrund). Wenn ich auf „Start“ klicke, ändert sich nichts, aber ich bekomme die Meldung „Apache-Dienst gestartet“.
In httpd.conf habe ich DocumentRoot geändert, aber Apache scheint die Änderungen nicht zu sehen, obwohl es zu laufen scheint. Zumindest bekomme ich eine Seite für http://localhost, aber nicht die Seite, auf die das neue DocumentRoot verweist.
Irgendeine Idee, was hier falsch ist?
TIA
Steven
bearbeiten
Wenn ich versuche, Apache über die Dienstekonsole zu starten, erhalte ich die Fehlermeldung „Windows konnte Apache2.2 auf dem lokalen Computer nicht starten, patatee, patata...“. Im Fehlerprotokoll wird das Ereignis 3299 aufgeführt.
Antwort1
"sc delete" löscht einen Windows-Dienst, d. h. der Dienst existiert nicht mehr und kann nicht mehr gestartet, gestoppt oder sonst wie gestartet werden. Der Dienst wird erst neu erstellt, wenn Sie Apache neu installieren oder den sc-Befehl verwenden, um den Dienst neu zu erstellen. Die korrekte Möglichkeit, den Dienst über die Befehlszeile neu zu starten, wäre gewesen:
net stop apache2.2
net start apache2.2
(ärgerlicherweise gibt es keine Option zum „Net Restart“).
Wenn Sie „net start apache2.2“ verwenden, wird dann ein Fehler zurückgegeben? Wenn Sie die Fehlermeldung „Der Dienstname ist ungültig“ erhalten, müssen Sie den Dienst neu erstellen. Ich weiß nicht spontan, wie das geht, aber es sollte unkompliziert sein.
JR
Ein dienstspezifischer Fehler ist aufgetreten: 1
Dies zeigt an, dass der Apache-Dienst installiert ist, Apache selbst jedoch beim Start einen Fehler meldet. Möglicherweise stimmt etwas mit den Konfigurationsdateien nicht. Die übliche Taktik besteht darin, Apache als Anwendung auszuführen, damit Sie alle Fehlermeldungen sehen können, die es erzeugt. Siehehttp://httpd.apache.org/docs/2.2/platform/windows.html#winconsfür Informationen zum Ausführen von Apache als Anwendung.
Antwort2
Ich habe die Systemsteuerung von XAMPP noch nie verwendet. Aber als ich XAMPP das letzte Mal benutzte, fand ich heraus, dass der einfachste Weg, Apache neu zu starten, die normale Dienstekonsole von Windows war.
Antwort3
Ich weiß, dass dies Ihre Frage nicht direkt beantwortet, aber ich empfehle, Apache/PHP/Perl/MySQL manuell zu installieren. Dadurch können Sie:
- verstehen, wie diese Komponenten verknüpft sind
- Ändern Sie die Komponentenversion nach Bedarf (einige Projekte erfordern möglicherweise andere Versionen).
- Starten Sie diese Komponenten in der Konsole - dies hilft Ihnen beim Debuggen und Steuern
- Sie können mehrere Installationen für verschiedene Projekte haben - auf diese Weise ist es einfach, eine Installation zu verwerfen und neu aufzubauen, ohne die anderen Projekte zu beeinträchtigen
Tools wie XAMPP sind großartig, um schnell eine Installation zur Hand zu haben; sie sind jedoch nicht fehlerfrei. Obwohl die Integrationsversprechen verlockend sind, müssen Sie dies meistens manuell tun - und es ist ein leistungsfähigerer Ansatz.
Wenn Sie mit Windows-Diensten herumspielen müssen, empfehle ich dieses großartige kostenlose Tool: Windows Service Commander.
Antwort4
Sie können den Apache-Dienst auch direkt über die ausführbare Apache-Datei neu starten und verfügen über die Option -k zum Neuladen/Neustarten.
apache2.exe -k Neustart -n "Apacheservicename"
Wenn ich mich recht erinnere.