PHP 5.2.1 + Apache 2.2.4 installationsprobs
dertom
- php
Hallo,
ich versuche gerade PHP + den Apache webserver in den oben genannten Versionen zu installieren.
Ich habe schon mehrere Guides durchgemacht und immer mit dem selben Ergebniss : Wenn ich meine test.php im htdocs ordner öffnen will dann fragt er mich ob ich sie abspeichern mag.
in der httpd.conf habe ich folgende Änderungen vorgenommen:
PHPIniDir "C:\PHP\"
LoadModule php5_module "C:\PHP\php5apache2_2.dll"
LoadFile "C:/php/php5ts.dll"
ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php
leider alles ohne die geringste Auswirkung..
Wer kann mir weiterhelfen?
hallo,
PHPIniDir "C:\PHP\"
Sollte "C:/PHP" lauten - bist du sicher, daß in diesem Verzeichnis wirklich deine php.ini liegt?
LoadModule php5_module "C:\PHP\php5apache2_2.dll"
Sollte "LoadModule php5_module C:/PHP/php5apache2_2.dll" lauten (deine Anführungszeichen sind an dieser Stelle nicht korrekt). Eventuell ist es günstiger, die Datei in das Modul-Verzeichnis des Apache zu verschieben. Dann lautet die Anweisung nur
LoadModule php5_module modules/php5apache2_2.dll
LoadFile "C:/php/php5ts.dll"
Wo hast du das her? Die php5ts.dll kannst du ins Apache/bin-Verzeichnis kopieren oder nach C:\windows\system32. Eine LoadFile-Anweisung ist nicht zwingend erforderlich.
ScriptAlias /php/ "c:/php/"
Überflüssig bei Verwendung des Moduls.
AddType application/x-httpd-php .php
Das ist die einzige sofort verständliche und korrekte Anweisung in deinen Angaben.
Grüße aus Berlin
Christoph S.
hallo,
PHPIniDir "C:\PHP\"
Sollte "C:/PHP" lauten - bist du sicher, daß in diesem Verzeichnis wirklich deine php.ini liegt?
ja, sicher.
die config sieht also momentan so aus:
PHPIniDir "C:/PHP/"
LoadModule php5_module "modules/php5apache2_2.dll"
Action application/x-httpd-php "/php/php-cgi.exe"
AddType application/x-httpd-php .php
leider ohne Wirkung :(
Gruß vom Bodensee, Tom
hallo,
LoadModule php5_module "modules/php5apache2_2.dll"
Die Anführungszeichen sind überflüssig - damit dürfte dein Apache gar nicht starten, sondern sollte dir eine Fehlermeldung zeigen. Voraussetzung bleibt, daß das Modul (also diese DLL) im Apache/modules-Verzeichnis liegt.
Action application/x-httpd-php "/php/php-cgi.exe"
Überflüssig - die Anweisung brauchst du, wenn du PHP als CGI-Anwendung betreiben willst. Aber du willst das Modul benutzen, und dann ist sie falsch.
AddType application/x-httpd-php .php
Das ist immer noch korrekt.
Nicht vergessen, daß der Apache nach jeder Änderung an der Konfiguration neu gestartet werden muß. Und ein Blick in die logs hilft oft sehr viel weiter.
Grüße aus Berlin
Christoph S.
juhu, es lebt :)
müssen wohl die Anführungszeichen gewesen sein. Danke!
Leider laufen jetzt nur die php-Seiten im Iexplorer. Im FireFox habe ich weiterhin die gleichen Fehler.
Gruß, Tom
hallo,
müssen wohl die Anführungszeichen gewesen sein. Danke!
Bittesehr.
Leider laufen jetzt nur die php-Seiten im Iexplorer. Im FireFox habe ich weiterhin die gleichen Fehler.
Cache ausleeren bewirkt Wunder, glaubs mir.
Grüße aus Berlin
Christoph S.
Hallo Christoph,
Die php5ts.dll kannst du ins Apache/bin-Verzeichnis kopieren oder nach C:\windows\system32.
ja kann man. Ist beides keine gute Idee. Die Datei dort zu lassen, wo sie ist, hingegen schon.
Warum? Ganz einfach, steht auch glatt in den Installationsanleitungen, die bei PHP mitgeliefert werden: Updates sind wesentlich einfacher, wenn man Dateien nicht unnötigerweise über das Dateisystem verstreut.
Dateien in %systemroot%\system32 zu kopieren, ist eine ganz schlechte Praxis.
Dieses Verzeichnis sollte man nicht unnötig zumüllen.
Freundliche Grüße
Vinzenz
hallo Vinzenz,
Die php5ts.dll kannst du ins Apache/bin-Verzeichnis kopieren oder nach C:\windows\system32.
ja kann man. Ist beides keine gute Idee. Die Datei dort zu lassen, wo sie ist, hingegen schon.
Ich kann dir nicht vollständig zustimmen. Wird der Apache gestartet und findet sich in der Konfigurationsdatei eine LoadModule-Anweisung für das PHP-Modul, so sucht er zuerst im Apache/modules-Verzeichnis danach, dann in %windir%\system32 und zuletzt im PATH. Ein Verzeichnis C:\PHP muß aber nicht zwingend auch im PATH eingetragen sein (also kann es passieren, daß Apache mit einer Fehlermeldung abbricht und gar nicht erst startet), die beiden anderen sind es in der Regel schon - %windir%\system32 auf jeden Fall, das Apache-Verzeichnis nur dann, wenn der Apache mit dem Apache-Installer (MSI) eingerichtet wurde. Ein Verzeichnis C:\PHP wird vom PHP-Installer (MSI) zwar auch eingetragen, aber der Installer ist nur für die CGI-Variante zuständig. Für die Modulvariante benötigst du aber das ZIP-Archiv, und wenn das nach C:\PHP extrahiert wird, müßtest du den PATH selber in der Systemsteuerung korrigieren.
Warum? Ganz einfach, steht auch glatt in den Installationsanleitungen, die bei PHP mitgeliefert werden: Updates sind wesentlich einfacher, wenn man Dateien nicht unnötigerweise über das Dateisystem verstreut.
Auch das ist nicht vollständig richtig. Die beiden Dateien, um die es im wesentlichen geht, sind phpXts.dll und phpXapache2_2.dll, mehr nicht. Und die sind nicht _so_ schwer aufzufinden und bei Bedarf gegen neuere Versionen auszutauschen.
Anders sieht es aus, wenn du noch "Extensions" einbinden möchtest - also wenn PHP mit MySQL (php_mysql.dll) zusammenarbeiten soll und anderes. Das sind jedoch Einstellungen, die den Apache nicht unbedingt etwas angehen, sondern das wird in der php.ini eingestellt. Und der Ort solcher "Extensions" muß nicht im PATH liegen, die dürfen also getrost in C:\PHP (oder sonstwo) liegenbleiben.
Dateien in %systemroot%\system32 zu kopieren, ist eine ganz schlechte Praxis.
Dieses Verzeichnis sollte man nicht unnötig zumüllen.
Da hast du recht, aber etliche Windows-Programme tun das von ganz alleine. Daher schlage ich immer das Verzeichnis Apache/modules für die phpXapache2_2.dll und das Verzeichnis Apache/bin für die phpXts.dll vor. Das funktioniert ziemlich zuverlässig und erspart Überlegungen, ob man nun den PATH noch anpassen muß oder nicht.
Grüße aus Berlin
Christoph S.