White Screen Of Death (XAMPP1.6.6-Linux)

Irgendwelche Probleme mit XAMPP für Linux? Dann ist hier genau der richtige Ort um nachzufragen.

White Screen Of Death (XAMPP1.6.6-Linux)

Postby ollo » 24. May 2008 20:38

Hi,

ich habe ein fieses Problem mit XAMPP 1.6.6 auf Linux Centos5. Es geht um eine Applikation (PHP5/MySQL), die unter Windows problemlos läuft, ebenfalls unter XAMP 1.6.6(a).

Unter Linux gibt es einen White Screen Of Death, also null Ausgabe. Ich hatte sowas schon öfter, unter Windows. Im Normalfall liegt es an einem echten Syntaxfehler (Klammer nicht richtig gesetzt o.Ä.) oder an einem Problem mit der Klassenhierarchie (private in abgeleiteter Klasse als protected definiert o. Ä.). Das ist natürlich alles Sch****e, er sollte so oder so einen Fehler ausgeben, aber egal.

Jedenfalls sind die Skripte momentan stabil, keine Fehler der oben beschriebenen Arten. Unter Windows läuft wie gesagt alles rund. Jetzt beim Testen auf Linux kommt der WSOD.

Genauere Nachforschungen haben ergeben dass Apache aussteigt mit folgender Meldung im error_log:
[notice] child pid 29048 exit signal Segmentation fault (11)
Offenbar passiert es wie üblich beim Laden/Kompilieren des Scripts, so wird bspw. keine Ausgabe oder die() im Skript mehr ausgeführt.


Was nun? Gibt es eine erprobte Strategie an sowas ranzugehen? Vielleicht statt XAMPP den Stack selbst kompilieren? Bringt vielleicht eine ältere XAMPP-Version Abhilfe? Kann man irgendwie noch genauer herausfinden warum es knallt und doch noch was im Skript 'workarounden'?

genervter Gruß, ollo
ollo
 
Posts: 85
Joined: 11. November 2004 12:29

Postby deepsurfer » 14. June 2008 14:01

Nur um sicher zu stellen das XAMPP-Linux richtig funktioniert.

Laufen alle Scripte aus dem XAMPP-.Webinterface ?
chirio Deep
Wie sagte einst der MCP aus Tron auf dem Bildschirm zu schreiben Pflegte
" ... end of communication ... "
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby ollo » 22. June 2008 15:18

Ich kann's jetzt leider nicht testen (Server läuft in VM bei einem Kumpel), aber generell funktionierte es soweit ich das sagen kann. Prinzipiell laufen die Skripte von mir ja auch, bspw. wenn ich vor dem Laden des kritischen Skripts aussteige per die() kommen die Ausgaben bis dahin.

Ich denke PHP hat noch teils schwere Probleme mit den 'gehobeneren' Funktionen. Ich nutze OOP recht intensiv, und da begegnete mir der WSOD schon öfter. Anstatt dass PHP eine Fehlermeldung bringt gibt's einfach keine Ausgabe. Dann muss ich includes deaktivieren bzw. unzählige male das die() verschieben bis ich den Übeltäter gefunden habe... :-|

Bisher waren die Ursachen entweder Syntaxfehler oder Logikfehler in der Vererbung. Einmal auch eine Klasse die aber schon in einem Modul existierte (Directory).

Spielen da evtl. auch noch weitere 'externe' Libs mit? Mich macht nämlich stutzig, dass PHP in der gleichen Version läuft unter Win/Linux...
ollo
 
Posts: 85
Joined: 11. November 2004 12:29

Postby Nobbie » 22. June 2008 16:23

Ich denke PHP hat noch teils schwere Probleme mit den 'gehobeneren' Funktionen. Ich nutze OOP recht intensiv, und da begegnete mir der WSOD schon öfter. Anstatt dass PHP eine Fehlermeldung bringt gibt's einfach keine Ausgabe


Was ein todsicheres Zeichen für eine falsch konfigurierte Testumgebung ist, Du mußt schon die einschlägigen Einstellung in php.ini (display_errors, display_startup_errors, error_level usw.) so konfigurieren, dass PHP auch etwas ausgeben soll.

Dann klappt's auch mit der Fehlermeldung - ganz sicher.
Nobbie
 
Posts: 8770
Joined: 09. March 2008 13:04

Postby ollo » 22. June 2008 23:40

Nobbie wrote:
Ich denke PHP hat noch teils schwere Probleme mit den 'gehobeneren' Funktionen. Ich nutze OOP recht intensiv, und da begegnete mir der WSOD schon öfter. Anstatt dass PHP eine Fehlermeldung bringt gibt's einfach keine Ausgabe


Was ein todsicheres Zeichen für eine falsch konfigurierte Testumgebung ist, Du mußt schon die einschlägigen Einstellung in php.ini (display_errors, display_startup_errors, error_level usw.) so konfigurieren, dass PHP auch etwas ausgeben soll.

Dann klappt's auch mit der Fehlermeldung - ganz sicher.


...ganz sicher nicht. Alles ist 'on', Errors auf Max (warum ist das eigentlich nicht default?). Wie gesagt steigt der Apache-Thread aus, da kann PHP auf Scriptlevel nix mehr. Glaub mir, so einfach ist die Sache leider nicht.

BTW, interessant in diesem Zusammenhang, es betrifft wahrscheinlich nicht nur XAMPP: das output buffering bzw. die Fehlerbehandlung ist scheinbar schon seit längerem buggy, selbst wenn output_buffering 'off' ist, werden nicht immer alle Fehler ausgegeben, man muss auch 'implicit_flush' auf 'on' stellen! Das war schon mal für ein paar WSOD verantwortlich, aber leider hilft's hier auch nichts...
ollo
 
Posts: 85
Joined: 11. November 2004 12:29


Return to XAMPP für Linux

Who is online

Users browsing this forum: No registered users and 2 guests