Hello,
Es scheint etwas mit PHP-Berechtigungen zu tun haben. Weiß jemand von Euch vielleicht Bescheid?
also ich hab mich mal relativ lange mit PHP auf einem IIS unter Windows 2003 x64 angelegt. Diese Schritte habe ich damals aus diversen Foren zusammengetragen, so dass es bei mir zwischenzeitlich funktioniert - ein Kernproblem dabei war allerdings die 64Bit-Version des Betriebssystem, sonst war es nicht so extrem spannend.
--------
* Download der Installationsdateien von PHP - bevorzugt für die Installation ist die ZIP-Variante
o PHP.net Downloads
* Dateien entpacken in ein entsprechend zugängliches Verzeichnis, z.B. C:\PHP
* Als nächstes müssen dem/den IIS-Benutzeraccounts zumindest Leserechte auf dem entsprechenden Verzeichnis und den Unterverzeichnissen eingeräumt werden
* Der Konflikt zwischen 64-Bit Betriebssystem und 32-Bit ISAPI-Extension muss aufgelöst werden. Hierzu dient folgender Konsolenbefehl: cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1. Wird dieser Schritt ausgelassen kommt es lediglich zu HTTP-500-Fehlern
* IIS muss darauf vorbereitet werden Anfragen an PHP weiterzuleiten - dies besteht aus zwei Schritten
o Webservice-Extension einrichten (einmalig)
+ Internet Information Services (IIS) Manager starten
+ Reiter Webservice Extensions auswählen
+ rechte Maustaste, Add a new Webservice Extension
+ php5isapi.dll im PHP-Verzeichnis auswählen und auf allow
o Web Site für PHP berechtigen (ggf. pro Web Site)
+ Internet Information Services (IIS) Manager starten
+ Web Sites auswählen
+ korrekte Web Site auswählen, rechte Maustaste, Properties
+ Reiter Home Directory, Configuration
+ Extension für .php hinzufügen auf php5isapi.dll mit mindestens den Verbs POST, GET, HEAD
* der Installationspfad von PHP sowie der ext-Ordner sollten dem Windows-path hinzugefügt werden
* über die Registry sollte der Pfad zur php.ini bekannt gemacht werden (Registry):
o HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath
o HKEY_LOCAL_MACHINE\SOFTWARE\PHP\5\IniFilePath
o HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\PHP\IniFilePath
o HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\PHP\5\IniFilePath
* Anpassen der php.ini, entweder vollständig manuell oder gem. php.ini-dist. Wichtig WWW-Publishing-Dienst anschließend neu starten, durch Cachen der ISAPI-Filter werden die Änderungen sonst nicht wirksam.
o short_open_tag = Off
o asp_tags = Off
o expose_php = On prüfen
o max_execution_time = 30 ; prüfen
o memory_limit = 128M ; prüfen
o error_reporting = E_ALL oder error_reporting = E_ALL | E_STRICT
o display_errors = On sonst werden keine PHP-Fehler angezeigt
o log_errors = On sonst werden keine PHP-Fehler angezeigt
o error_log = "C:\PHP\log\error.log" Pfad für zusätzliche Ausgabe von Fehlern
o extension_dir = "C:\PHP\ext"
o cgi.force_redirect = 0
o Extensions nach Bedarf aktivieren
o Durch phpinfo(); prüfen, ob die Einstellungen greifen und die richtige php.ini geladen wird
* Für Zugriff auf Microsoft SQL Server ist eine zusätzliche DLL erforderlich, die ggf. auf dem System nicht vorhanden ist. Dies äußert sich im fehlgeschlagenen Laden von Extensions (siehe Log). Die DLL lautet ntwdblib.dll und muss im Systempfad erreichbar sein (z.B. im PHP-Verzeichnis). Siehe auch Userscape.com: Microsoft SQL Server Troubleshooting
* Verzeichnisberechtigungen: [1]
--------
Das durch [1] beschriebene Berechtigungsproblem beschreibt auch Microsoft selbst in 315122 - es mündet allerdings laut Artikel eher in 404...
MfG
Rouven
-------------------
sh:| fo:} ch:? rl:( br:& n4:{ ie:| mo:} va:) js:| de:] zu:| fl:( ss:) ls:& (SelfCode)
Buy when there's blood running in the street and sell when everyone is pounding at your door, clawing to own your equities -- Wisdom on Wallstreet