- #1
C
connyas
Bekanntes Mitglied
Themenersteller
- Dabei seit
- 04.12.2004
- Beiträge
- 5.463
- Reaktionspunkte
- 0
- Ort
- Stuttgart
Da doch hin und wieder einige Fehler beim Einrichten der Lokalen Testumgebung Apache, PHP & MySQL auftreten, habe ich hier mal die häufigsten Fehler und mögliche Ursachen zusammengefasst.
Häufigster Fehler ist, das Pfadangaben aus den Tutorials bzw. dem Artikel 1:1 übernommen werden.
Die Hinweise in den Tutorials:
Bitte ALLE Pfadangaben anpassen!!!
werden leider immer wieder nicht beachtet.
Apache
Die Apache-Installation bricht ab
Fehler => make_sock: could not bind to address 0.0.0.0:80
Mögliche Ursachen => Port 80 wird schon von einem anderen Programm belegt (z.B. IIS, Skype, ?)
Um zu testen, welches Programm Port 80 belegt, kann das Tool Active Ports verwendet werden. Dieses kleine Tool zeigt an welche Ports von welchem Programm genutzt werden.
Fehler => Der Apache Dienst kann nicht installiert/gestartet werden.
Evtl. ist bei einem früheren Installationsversuch bzw. bei einer bereits gelöschten Installation der Apachedienst nicht richtig entfernt worden.
Hierzu muss unter:
Systemsteuerung => Verwaltung => Dienste
geprüft werden, ob:
=> ein Apache2 Dienst registriert ist
=> In den Eigenschaften des Dienstes der Pfad zur *.exe Datei des Apache stimmt.
Ist der Dienst registriert UND der Pfad zur *.exe stimmt, kann versucht werden diesen Manuell zu starten.
Stimmt der Pfad nicht mit dem tatsächlichen Pfad überein, sollte der Dienst gelöscht werden, und die Apache Installation kann erneut durchgeführt werden.
Dienst löschen:
=> http://www.wintotal-forum.de/index.php/topic,68494.0.html
Fehler => DocumentRoot must be a Directory
Pfad in der httpd.conf des Apache prüfen.
Fehler => Apache kann nicht von der Konsole gestoppt/gestartet werden.
Wurde der Pfad zum Apache/bin Verzeichnis richtig in den Umgebungsvariablen registriert ??
Läuft der Apache evtl. schon ??
Der Apache-Dienst kann immer nur einmal gestartet werden, ansonsten bricht der Startvorgang mit der Fehlermeldung:
make_sock: could not bind to address 0.0.0.0:80
ab.
Zur Sicherheit immer erst den Apache Dienst Stoppen => apache -k stop (auch wenn man sich eigentlich sicher ist das er nicht läuft), und anschließend Starten => apache -k start
PHP
Fehler => PHP-Dateien werden nur als Quelltext angezeigt.
Mögliche Ursache => Der Apache wurde nicht richtig für PHP konfiguriert.
Woran erkenne ich das?
Vorausgesetzt, der DocumentRoot wurde bei der Apache-Installation geändert, sollte beim Aufruf von http://localhost ein leeres Inhaltsverzeichnis angezeigt werden.
Index of /
Ist der DocumentRoot nicht geändert worden, können alle Dateien in diesem Verzeichnis gelöscht werden. Dies sind alles nur Hinweisseiten in verschiedenen Sprachen, dass der Apache Installiert wurde. Nach dem Löschen dieser Dateien, sollte auch hier ein leeres Inhaltsverzeichnis gezeigt werden.
Index of /
Hierbei interessiert die letzte Zeile auf dieser Seite:
Apache/2.0.53 (Win32) PHP/5.0.3 Server at localhost Port 80
Fehlt hier der Eintrag => PHP/5.0.3, stimmt die PHP-Konfiguration in der httpd.conf nicht.
Konfiguration httpd.conf:
Wurden hier die Pfade an die eigene Umgebung angepasst?
Fehler => index.php wird nicht automatisch ausgeführt.
Der DirectoryIndex in der httpd.conf wurde nicht geändert.
Fehler => Beim Start des Apache kommt die Fehlermeldung, dass eine Extension z.B. php_mysql.dll nicht gefunden wurde.
Sind die im Artikel aufgeführten *.dll nach c:\Windows kopiert worden ?
Stimmt der Pfad zum Extensionverzeichnis ?
phpMyAdmin
Fehler => Die Erweiterung mysql kann nicht geladen werden.
Bei dieser Fehlermeldung ist mit großer Wahrscheinlichkeit davon auszugehen, dass die MySQL-Extension in der php.ini nicht aktiviert wurde.
Ist die Extension aktiviert, würde der Apache beim Start diese Fehlermeldung schon auswerfen.
Gleiches gilt für die bstring-Extension.
Prüfen:
- Stimmt der Pfad zu den Extensions? (wird in der php.ini unter Paths and Directorys definiert)
- Sind die angegebenen *.dll nach C:/windows kopiert worden
- In Ausnahmefällen diese *.dll auch mal in das Verzeichnis c:/windows/system32 kopieren
- Zum Prüfen, ob der Pfad zu den Extensions stimmt, kann zu Testzwecken eine andere Extension, z.B. php_openssl.dll (diese steht in keiner Abhängigkeit zu anderen Dateien und MUSS gefunden werden), aktivieren
Wie immer gilt, nach jeder Änderung an der php.ini muss der Apache neu gestartet werden.
MySQL
TODO
Häufigster Fehler ist, das Pfadangaben aus den Tutorials bzw. dem Artikel 1:1 übernommen werden.
Die Hinweise in den Tutorials:
bzw. in dem Artikel:Alle Pfadangaben beziehen sich auf meine Testumgebung, und müssen angepasst werden!
Diese Verzeichnisstruktur dient lediglich als Beispiel und muss auf die eigenen Gegebenheiten angepasst werden. Dies gilt insbesondere im weiteren Installationsverlauf bei der Änderung der einzelnen Konfigurationsdateien.
Bitte ALLE Pfadangaben anpassen!!!
werden leider immer wieder nicht beachtet.
Apache
Die Apache-Installation bricht ab
Fehler => make_sock: could not bind to address 0.0.0.0:80
Mögliche Ursachen => Port 80 wird schon von einem anderen Programm belegt (z.B. IIS, Skype, ?)
Um zu testen, welches Programm Port 80 belegt, kann das Tool Active Ports verwendet werden. Dieses kleine Tool zeigt an welche Ports von welchem Programm genutzt werden.
Fehler => Der Apache Dienst kann nicht installiert/gestartet werden.
Evtl. ist bei einem früheren Installationsversuch bzw. bei einer bereits gelöschten Installation der Apachedienst nicht richtig entfernt worden.
Hierzu muss unter:
Systemsteuerung => Verwaltung => Dienste
geprüft werden, ob:
=> ein Apache2 Dienst registriert ist
=> In den Eigenschaften des Dienstes der Pfad zur *.exe Datei des Apache stimmt.
Ist der Dienst registriert UND der Pfad zur *.exe stimmt, kann versucht werden diesen Manuell zu starten.
Stimmt der Pfad nicht mit dem tatsächlichen Pfad überein, sollte der Dienst gelöscht werden, und die Apache Installation kann erneut durchgeführt werden.
Dienst löschen:
=> http://www.wintotal-forum.de/index.php/topic,68494.0.html
Fehler => DocumentRoot must be a Directory
Pfad in der httpd.conf des Apache prüfen.
Fehler => Apache kann nicht von der Konsole gestoppt/gestartet werden.
Wurde der Pfad zum Apache/bin Verzeichnis richtig in den Umgebungsvariablen registriert ??
Läuft der Apache evtl. schon ??
Der Apache-Dienst kann immer nur einmal gestartet werden, ansonsten bricht der Startvorgang mit der Fehlermeldung:
make_sock: could not bind to address 0.0.0.0:80
ab.
Zur Sicherheit immer erst den Apache Dienst Stoppen => apache -k stop (auch wenn man sich eigentlich sicher ist das er nicht läuft), und anschließend Starten => apache -k start
PHP
Fehler => PHP-Dateien werden nur als Quelltext angezeigt.
Mögliche Ursache => Der Apache wurde nicht richtig für PHP konfiguriert.
Woran erkenne ich das?
Vorausgesetzt, der DocumentRoot wurde bei der Apache-Installation geändert, sollte beim Aufruf von http://localhost ein leeres Inhaltsverzeichnis angezeigt werden.
Index of /
Ist der DocumentRoot nicht geändert worden, können alle Dateien in diesem Verzeichnis gelöscht werden. Dies sind alles nur Hinweisseiten in verschiedenen Sprachen, dass der Apache Installiert wurde. Nach dem Löschen dieser Dateien, sollte auch hier ein leeres Inhaltsverzeichnis gezeigt werden.
Index of /
Hierbei interessiert die letzte Zeile auf dieser Seite:
Apache/2.0.53 (Win32) PHP/5.0.3 Server at localhost Port 80
Fehlt hier der Eintrag => PHP/5.0.3, stimmt die PHP-Konfiguration in der httpd.conf nicht.
Konfiguration httpd.conf:
LoadModule php5_module D:/Server/php5/php5apache2.dll
AddType application/x-httpd-php .php
PHPIniDir D:/Server/php5
Wurden hier die Pfade an die eigene Umgebung angepasst?
Fehler => index.php wird nicht automatisch ausgeführt.
Der DirectoryIndex in der httpd.conf wurde nicht geändert.
Original
DirectoryIndex index.html index.html.var
Neu
DirectoryIndex index.html index.html.var index.php
Fehler => Beim Start des Apache kommt die Fehlermeldung, dass eine Extension z.B. php_mysql.dll nicht gefunden wurde.
Sind die im Artikel aufgeführten *.dll nach c:\Windows kopiert worden ?
Stimmt der Pfad zum Extensionverzeichnis ?
phpMyAdmin
Fehler => Die Erweiterung mysql kann nicht geladen werden.
Bei dieser Fehlermeldung ist mit großer Wahrscheinlichkeit davon auszugehen, dass die MySQL-Extension in der php.ini nicht aktiviert wurde.
Ist die Extension aktiviert, würde der Apache beim Start diese Fehlermeldung schon auswerfen.
Gleiches gilt für die bstring-Extension.
Prüfen:
- Stimmt der Pfad zu den Extensions? (wird in der php.ini unter Paths and Directorys definiert)
- Sind die angegebenen *.dll nach C:/windows kopiert worden
- In Ausnahmefällen diese *.dll auch mal in das Verzeichnis c:/windows/system32 kopieren
- Zum Prüfen, ob der Pfad zu den Extensions stimmt, kann zu Testzwecken eine andere Extension, z.B. php_openssl.dll (diese steht in keiner Abhängigkeit zu anderen Dateien und MUSS gefunden werden), aktivieren
Wie immer gilt, nach jeder Änderung an der php.ini muss der Apache neu gestartet werden.
MySQL
TODO
Zuletzt bearbeitet von einem Moderator: