Yann: 500er Fehler auf IIS mit PHP

Hallo Leute!

Ich muss bei mir die Kopie einer aktive Seite installieren, da sie auf einem IIS läuft, wollte ich bei mir auch PHP mit IIS installieren.

Wenn ich nun eine kleine PHP-Info-Seite erstelle, wird diese auch im Browser angezeigt, kein Problem.

Versuche ich aber die eigentliche Seite aufzurufen, bekomme ich einen 500.0er Fehler mit Fehlercode "0x00000000".

Ich habe hier Windows 7 Home mit IIS7.5 im Einsatz. Ich habe auch schon gegoogelt, konnte auch in anderen Foren dieselbe Frage entdecken, einer scheint es vor einigen Monaten auch gelöst zu haben, nur hat er die Lösung leider nicht gepostet ;o(

Es scheint etwas mit PHP-Berechtigungen zu tun haben. Weiß jemand von Euch vielleicht Bescheid?

lg

Yann

  1. Hi,

    Wenn ich nun eine kleine PHP-Info-Seite erstelle, wird diese auch im Browser angezeigt, kein Problem.

    Versuche ich aber die eigentliche Seite aufzurufen, bekomme ich einen 500.0er Fehler mit Fehlercode "0x00000000".

    Ich habe hier Windows 7 Home mit IIS7.5 im Einsatz.

    Und was sagen das Error-Log des IIS und ggf. das Ereignis-Log von Windows dazu?

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
  2. 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
  3. Moin!

    Wenn ich nun eine kleine PHP-Info-Seite erstelle, wird diese auch im Browser angezeigt, kein Problem.

    Versuche ich aber die eigentliche Seite aufzurufen, bekomme ich einen 500.0er Fehler mit Fehlercode "0x00000000".

    Definiere "die eigentliche Seite" - und schau vor allem mal mit Ansicht -> Quelltext den Quelltext an. Nicht dass da im Wesentlichen nur <iframe ... > drinsteht.

    Ersetze die "eigentliche Seite" durch eine, die nur <?php echo "funktioniert!"; ?> enthält und sieh nach, ob der Fehler noch immer auftritt:

    • Tritt er nicht mehr auf musst Du schauen was in der "eigentliche Seite" drin steht.
    • Tritt er noch dann liegt es mit Sicherheit an der Serverkonfiguration.

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix