Interner Serverfehler statt PHP-Error

para_noid

hirnrissig
System:
  • Windows Server 2008 R2 Enterprise
  • IIS 7.5
  • PHP 5.3.8

Sitz heut zum ersten Mal an dem Server und wundere mich, dass bei den geringsten Fehlern (schließende Klammer vergessen etc.) kein PHP-Fehler kommt trotz display_errors, sondern stattdessen ein
HTTP-Fehler 500.0 - Internal Server Error
Die Seite kann aufgrund eines internen Serverfehlers nicht angezeigt werden.

Wenn ich die Klammer wieder einkommentiere wird die Seite normal angezeigt.
Verursacht PHP da wirklich jedes Mal einen Serverfehler oder ist das System dahingehend (falsch) konfiguriert?
 
Auf dem ersten Blick nicht, weil "ordentliche" Skripte ja laufen...aber ich bekomme einige Fehler bei php -i mit denen ich mich erstmal befassen kann.

Falls sich der Bildschirm mit HTML-Quelltext füllt (die Ausgabe der Funktion phpinfo()), funktioniert PHP und Ihr Problem könnte mit Ihrer Server-Konfiguration zusammenhängen, die Sie dann nochmal genau überprüfen sollten.

Sowas wirds wohl sein...falls hier jemandem sofort eine Ecke einfällt, in der ich nachsehen könnte, bitte posten.
 
Ich habe IE und FF verwendet...nu fällt mir ein, es wäre ja auch mal schlau gewesen, die Meldungen aus dem IE zu posten:

Ausführliche Fehlerinformationen:
Modul FastCgiModule
Benachrichtigung ExecuteRequestHandler
Handler PHP_via_FastCGI
Fehlercode 0x00000000

Falls das weiterhilft :rolleyes: zur Fehlerbehebung in Sachen PHP-Installation bin ich noch nicht gekommen, meld mich dazu später...
 
Mh.

Ich hab jetzt das gleiche System im Qemu laufen und finde einfach keinen Ausweg.
In diesem Fall werden mir mit php -i keinerlei Fehler ausgegeben. Das Aufrufen von phpinfo und "gesunden" Scripts klappt hier auch einwandfrei.

PHP:
<?php

echo 'test';
echo 'noch einer';
?>

funktioniert und wird angezeigt.

PHP:
<?php

echo 'test'
echo 'noch einer'
?>

resultiert in

HTTP-Fehler 500.0 Internal Server Error
Die Seite kann aufgrund eines internen Serverfehlers nicht angezeigt werden.

Modul FastCgiModule
Benachrichtigung ExecuteRequestHandler
Handler PHP_via_FastCGI
Fehlercode 0x00000000

Hat jemand vielleicht noch ne Idee wo ich nachschauen kann...
 
Hast Du in der php.ini das Semikolon vor "cgi.force_redirect" weggenommen und den Wert auf "0" geändert?

Was mich allerdings etwas verwundert ist, wenn ich display_errors auf on schalte, bekomme ich den Parse error gleich zweimal (ohne Zeilenumbruch) ausgespuckt.
Wenn ich display_errors jedoch auf off schalte, bekomme ich den Parse error nur einmal ausgespuckt.
Da scheint also schon beim IIS irgendwas intern abzulaufen.
 
Hast Du in der php.ini das Semikolon vor "cgi.force_redirect" weggenommen und den Wert auf "0" geändert?

Jetzt ja...leider bewirkt das keinen sichtbaren Unterschied.

[...] bekomme ich den Parse error gleich zweimal (ohne Zeilenumbruch) ausgespuckt.

Wie wär ich froh drum...nutzt du dasselbe System wie ich's eingangs gepostet habe oder ein anderes?


Heute hab ich ein weiteres Problem registriert: ich schaff es auf Teufel komm raus nicht bei einem XML-Import, die Zwischenausgaben mittels flush() und/oder ob_flush() anzuzeigen.

Ich hab zwar hier einen Lösungsansatz dazu gefunden, konnte ihn aber bislang nicht umsetzen. Ich finde nur eine applicationHost.config, keine applicationHost.control, und ein Hinzufügen von responseBufferLimit="0" brachte nichts. Auch ein zusätzliches output_buffering = 0 oder Off in der phpINI hat nicht geholfen.
Hast du dazu vielleicht auch eine Idee?
 
Zuletzt bearbeitet:
...nutzt du dasselbe System wie ich's eingangs gepostet habe oder ein anderes?
Nein.
Ich habe mal schnell unter Vista Home Premium den IIS 7 installiert, oder wie Microsoft sagen würde: die Windows-Funktion Internetinformationsdienste eingeschaltet.
Dazu noch PHP 5.3.8 installiert.
FastCGI habe ich jedoch nirgends gefunden, so musste ich es dabei belassen nur die php-cgi.exe zu nutzen.

Heute hab ich ein weiteres Problem registriert: ich schaff es auf Teufel komm raus nicht bei einem XML-Import, die Zwischenausgaben mittels flush() und/oder ob_flush() anzuzeigen.
[...]
Hast du dazu vielleicht auch eine Idee?
Leider nein.
Ich kann mir aber gut vorstellen dass das eine Problem zum Nächsten führt, also eine Kettenreaktion.
Zumindest würde ich diese Möglichkeit nicht ausschliessen.

Das IIS-Forum hatte ich auch gefunden..... sowie einige ausführliche Seiten bzgl. der Installation/Konfiguration (allerdings ohne Verweis dazu wo/wie ich an FastCGI kommen kann).
Nur ist mir leider der IE abgeschmiert..... und hat natürlich keine Spuren über die besuchten Seiten hinterlassen, weder im Verlauf noch in den temporären Internetdateien..... als wenn ich nie irgendwo gewesen wäre. :(
 
Habe auch einen 2008 R2 Server mit PHP über FastCGI.
Ich kenne dieses Problem auch.
Nachdem ich den Server nach folgendem Guide eingerichtet habe, funktionierte es:

Using FastCGI to Host PHP Applications on IIS 7

Achte, wie Dr. Dau schon sagte auf folgende ini-settings:
cgi.force_redirect = 0
fastcgi.impersonate = 1
cgi.fix_pathinfo=1

Edit: Dann hätte ich noch:
Im IIS-Manager den Server auswählen und unter "Fehlerseiten" rechts auf "Featureeinstellungen bearbeiten..." und dann "Detaillierte Fehler" auswählen. Ich glaube das hat es bei mir gebracht.

Kann default sein, weiß ich nicht: Unter "FastCGI Einstellungen" bei der Option "Standardfehlermodus" habe ich "ReturnStdErrIn500".
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück