Hallo Christoph.
Das solltest du bitte noch nicht tun. Trotz der Versicherung, Apache 2.2.0 sei "the best available version" solltest du dich mit einer Windows-Installation noch zurückhalten - es gibt doch Gründe, weshalb die Apache Foundation selbst noch kein MSI-Paket zur Verfügung stellt, sondern lediglich die Sourcen.
Ich habe den Apachen ja auch nicht installiert, das will ich auch gar nicht. Ich bin froh, ein einfaches ZIP-Archiv gefunden zu haben.
Ich bin mir der Gefahren durchaus bewusst und möchte die Version 2.2 momentan einfach nur einmal ausprobieren. Auf meinem Effektivsystem lasse ich diese auch noch nicht.
Du hast bemerkt, daß dort auch was von "Development" steht?
Jawohl. Und auch das die dort angebotenen Pakete inoffiziell und ohne Gewährt angeboten werden.
Diese "Aufsplittung" der httpd.conf ist für die Konfiguration eine entscheidende Neuerung, die die Apache Foundation selbst vorschlägt. Man kann diesem Vorschlag folgen, man muß aber nicht.
Da dies bei meinem Debian-System bereits von Anfang an auf diese Art und Weise geregelt war, habe ich damit kein großes Problem. (nur die Anzahl der Konfigurationsdateien ist dort um einiges niedriger.)
Kopiere es einfach mal in dein Modulverzeichnis, also beispielsweise nach D:\Apache\modules - oder wo du deinen Apache eben installiert hast.
Habe ich soeben gemacht und auch den Pfad entsprechend angepasst:
LoadModule php5_module modules/php5apache22.dll
Diese "Meckerei" kommt bei Apache unter Windows häufiger vor. Schalte deinen Apache ganz ab, lösche alle log-Dateien, defragmentiere alle relevanten Verzeichnisse bzw. Partitionen und starte ihn dann neu. Wenn du dann nochmal Fehlermeldungen bekommst, gib sie bitte nochmals an.
Ja, nach wie vor eine Fehlermeldung, auch wenn nun (dank obiger Modifikation) eine andere:
httpd.exe: Syntax error on line 510 of P:/Apache2/conf/httpd.conf: Syntax error on line 4 of P:/Apache2/conf/extra/httpd-php5.conf: Cannot load P:/Apache2/modules/php5apache22.dll into server: Das angegebene Modul wurde nicht gefunden.
Die mögliche Alternative besteht darin, PHP in der "CGI-Variante" zu fahren, was unter Windows mehr Erfolg verspricht.
Dies habe ich nun einmal gemäß Anleitung versucht und offenbar startet der Apache damit auch. Beim Aufrufen eines meiner lokalen Hosts erhalte ich jedoch nur entweder einen 500er oder einen 403er.
Nachdem ich nun alle zusätzlichen Konfigurationsdateien überprüft und darin unzählige „c:/Apache22“ zu meinem „p:/apache2“ gemacht habe, musste ich noch das zu restriktive „Allow Override none“ korrigieren.
Nun läuft der Apache und per phpinfo() konnte ich auch die Funktionstüchtigkeit von PHP überprüfen.
Es bleiben nur noch zwei Probleme:
Von mir per / eingebundene Resourcen werden nicht im DocumentRoot gesucht, sondern im ServerRoot.
Merkwürdigerweise aber nicht alle;
<link rel="stylesheet" href="/css/foo.css" type="text/css" />
Dies führt zu:
[Thu Jan 26 20:16:21 2006] [error] [client 127.0.0.1] File does not exist: P:/Apache2/css/foo.css
Es ist aber nur dieses eine Verzeichnis, auf alle anderen kann ich problemlos zugreifen …
So, die Ursache habe ich gefunden: httpd-autoindex.conf
Darin waren diverse Aliase deklariert, welche meine Anfragen abgefangen und umgeleitet haben. Ich habe die Einbindung obiger Konfigurationsdatei auskommentiert und werde sie später korrigieren.
Des weiteren brauche ich nun, da PHP über CGI läuft, eine Alternative zum php_flag für die .htaccess-Datei. Dies ist laut Errorlog dort (und in der httpd.conf) offenbar nicht mehr erlaubt:
Invalid command 'php_flag', perhaps misspelled or defined by a module not included in the server configuration
Und bei einem anderen VHost erhalte ich (bei nahezu deckungsgleicher Konfiguration wie die anderen VHosts) beim Aufruf:
[Thu Jan 26 20:33:42 2006] [error] [client 127.0.0.1] (20023)The given path was above the root path: Cannot map GET / HTTP/1.1 to file
Die lokale .htaccess enthält nichts hierfür relevantes. (Ich habe probeweise auch alles auskommentiert, aber ohne Erfolg.)
Einen schönen Donnerstag noch.
Gruß, Ashura
PS: Verzeih meinen Monolog, aber vielleicht helfen meine Gedankengänge noch jemand anderem bei ähnlichen Problemen.
sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
mathbr:del.icio.us/ mathbr:w00t/