PHP crashed

Apache, Lighttpd, nginx, Cherokee
Post Reply
steffz
Posts: 84
Joined: 2003-04-13 13:07
Location: Hamburg
Contact:
 

PHP crashed

Post by steffz »

Seit heute funktioniert mod_php bei mir nicht mehr einwandfrei.
Konkret geht es um die Funktion phpinfo(), die PHP abschmiert.
In der error_log sieht der Aufruf einer solchen Datei so aus:
MMCACHE: PHP crashed on opline 0 of phpinfo() at /var/www/blah/test.php:2

[Wed Nov 26 23:51:38 2003] [notice] child pid 3125 exit signal Segmentation fault (11)
Ich habe die MMCache-Sektion aus der php.ini testweise auskommentiert, was die Fehlermeldung auf das Segmentation fault beschränkt, am Problem aber nichts ändert - was mich stark wundert, denn wie kann ein nicht geladenes Modul Fehler hervorrufen? Es bringt auch nicht, "enable" oder "optimizer" zu deaktivieren. Von der Konsole aus verursacht phpinfo() keine Probleme. Auch habe ich bisher kein Script gefunden, das den gleichen Fehler hervorruft.

/tmp/mmcache war aus irgendwelchen Gründen weg, aber das Wiederherstellen und Ã?bereignen an nobody:nogroup des Ordners hat nichts gebracht.

chkrootkit wollte plötzlich die /var/adm/lastlog öffnen, die nicht existiert hat (Debian), hat aber, nachdem ich eine leere Datei erzeugt hatte, nichts gefunden. Es deutet aber sonst nichts auf ein gehacktes System hin. Der Traffic ist im normalen Bereich, und es wurden weder neue System- oder FTP-Benutzer, noch virtuelle Hosts erstellt.

In /tmp wird anscheinend der Aufruf von phpinfo() gespeichert. Wohlgemerkt nicht in /tmp/mmcache, wo aber andere PHP-Dateien gecached werden.

Hat jemand eine Idee, wo das Problem liegen könnte?
headdown
Posts: 39
Joined: 2003-04-05 00:38
 

Re: PHP crashed

Post by headdown »

Ich würde mal bescheiden sagen, da ist entweder neues RAM fällig oder aber ein Rootkit drauf (gewesen) ... jedenfalls deutet der Segmentation fault darauf hin. chkrootkit kann nichts finden, wenn das Rootkit bereits gelaufen ist und die Spuren einigermaßen verwischt wurden.
Check mal die Deviceknoten nach unbekannten Verzeichnissen, die vielleicht sogar Ersatz-Binaries für die gängigen Befehle haben.
Läuft z.B. dein "ls" normal? Dann noch auf jeden Fall die Logs checken...

...und scan mal Deine IP (von außen!), ob Du vielleicht plötzlich irgendwo nen IRC-Server sitzen hast :-D
steffz
Posts: 84
Joined: 2003-04-13 13:07
Location: Hamburg
Contact:
 

Re: PHP crashed

Post by steffz »

Alle meine Standartprogramme (ls, grep, mc, cat, touch, mkdir, rm) verhalten völlig normal, gescannt habe ich auch, es läuft keine Software, die ich nicht installiert habe.

So, hab mmcache eben neu aufgesetzt, Ergebnis = 0. Offensichtlich wird die richtige Version geladen.
Mich wundert es, dass ich bisher keine Anwendung gefunden habe, die ebenfalls solche Fehler hevorruf, sonst wäre RAM auch meine Idee gewesen.

Edit: Falls es jemanden interessiert:
Ich habe den Apache und MM Cache neu aufgesetzt und erstmal über Port 81 laufen lassen. Das ging problemlos. Anschließend habe ich den alten Apachen gestoppt, beim "neuen" den Port auf 80 gesetzt, ihn gestartet und siehe da, der gleiche Fehler war wieder da. Das Modul habe ich dann nach libexec kopiert und mmcache in der php.ini auf zend_extension geschaltet. Den Apache habe ich dann nicht mittels restart neu gestartet, sondern komplett gestoppt und gestartet. Seitdem geht es. Mag sein, dass ich ein paar Schritte zu viel unternommen habe. Aber zumindest geht es jetzt wieder.
majortermi
Userprojekt
Userprojekt
Posts: 916
Joined: 2002-06-17 16:09
 

Re: PHP crashed

Post by majortermi »

Segmentation Faults passieren meiner Erfahrung nach auch dann gerne, wenn die falsche Version einer Library installiert ist. Beispiel: Ein Programm wurde mit der libxyz-1.0.1 kompiliert, auf dem System ist aber die libxyz-1.1.0, die irgendeine Struktur o.ä. anders definiert, so dass man auf einen Bereich zugreift, der gar nicht vorhanden ist...
Das kann insbesondere auch dann passieren, wenn die Header-Files nicht mit der eigentlichen Library übereinstimmen.
Erst nachlesen, dann nachdenken, dann nachfragen... :)
Warum man sich an diese Reihenfolge halten sollte...
steffz
Posts: 84
Joined: 2003-04-13 13:07
Location: Hamburg
Contact:
 

Re: PHP crashed

Post by steffz »

Kann natürlich sein, dass apt irgendeine Lib erneuert hat. Allerdings ist die Festplatte nach einem Stromausfall im RZ ( jetzt ratet mal, bei welchem Provider die Kiste steht ;) zerstört worden. Ich musste alles neu aufsetzen, und damit auch MMCache. Jetzt wird phpinfo() immerhin zum Teil angezeigt, crashen tut PHP aber trotzdem. Das ist wirklich faszinierend.
gamecrash
Posts: 339
Joined: 2002-05-27 10:52
 

Re: PHP crashed

Post by gamecrash »

Also in dem Fall bleibt eigentlich fast nur der RAM (wenns ne komplett neue Festplatte mit neuer Installation ist)...
Post Reply