Apache, PHP, Linux - segmentation fault
Axel
- webserver
0 Sven Rautenberg
Hallo Forum,
ich habe ein seltsames Problem hier auf einem lokalen Server. Ich habe Debian 4 frisch aufgesetzt mit Apache 2.2.3 und PHP 5.2.0-8 + etch7.
Direkt nach der Installation hat alles geklappt. Auch nach Änderungen in der php.ini und http.conf. Nachdem ich nun einige Änderungen an meinen PHP-Skripten gemacht habe, funktioniert das System nicht mehr. Bei jeder Anfrage an eine PHP Datei bekomme ich eine leere Seite angezeigt und die Meldung: "child pid 2311 exit signal Segmentation fault (11)"
Die PID unterscheidet sich natürlich jedesmal. Selbst bei einer minimal-Datei mit <?php phpinfo(); ?> kommt dieser Fehler.
HTML-Dateien und Bilder werden ganz normal ausgeliefert. PHP nicht eine einzige. Auch ein Server-Reboot hat nichts gebracht.
PHP läuft (auch schon als es noch ging) mit den modulen apc, pdo und pdo_mysql. Im Apache habe ich zu den Standard Modulen nur mod_rewrite aktiviert, wird aber noch nicht genutzt.
Hat dazu jemand einen Tip, wie ich das Problem eingrenzen oder gar lösen kann?
Vielen Dank im Voraus
Schöne Grüße
Axel
Moin!
Hat dazu jemand einen Tip, wie ich das Problem eingrenzen oder gar lösen kann?
Segmentfehler können durch fehlerhaftes RAM ausgelöst werden (und natürlich durch viele andere Faktoren auch noch, aber die Hardware ist oft Schuld, ohne dass man zuerst daran denkt).
Lass das BIOS mal einen intensiven RAM-Test machen ("Schnelles Booten" deaktivieren), oder starte (von Boot-CD) memtest86 o.ä., um genau zu prüfen, ob dein RAM in Ordnung ist.
- Sven Rautenberg
Hallo,
Lass das BIOS mal einen intensiven RAM-Test machen ("Schnelles Booten" deaktivieren), oder starte (von Boot-CD) memtest86 o.ä., um genau zu prüfen, ob dein RAM in Ordnung ist.
hmm stimmt daran habe ich nicht gedacht. Allerdings sollte ich noch erwähnen, dass der Server in einer VMWare Maschine läuft. Machen die Speichertests dann Sinn?
Vielen Dank und
Schöne Grüße
Axel
Moin!
Lass das BIOS mal einen intensiven RAM-Test machen ("Schnelles Booten" deaktivieren), oder starte (von Boot-CD) memtest86 o.ä., um genau zu prüfen, ob dein RAM in Ordnung ist.
hmm stimmt daran habe ich nicht gedacht. Allerdings sollte ich noch erwähnen, dass der Server in einer VMWare Maschine läuft. Machen die Speichertests dann Sinn?
Das senkt natürlich die Wahrscheinlichkeit, weil sonst auch das Host-OS irgendwie Probleme zeigen sollte - aber warum nicht?
- Sven Rautenberg
Hallo nochmal,
*grummel* ich war mal wieder selbst Schuld. Hätte doch noch etwas länger schauen sollen, statt ins Forum zu schreiben, aber ich wusste mir keinen Rat mehr.
Ich hatte doch noch eine Änderung in der php.ini gemacht. Da meine Anwendung sehr Speicherlastig ist und große Dateien verarbeitet, wollte ich memory_limit hoch setzen und habe memory_limit = 0; gemacht.
Das scheint, im Gegensatz zu execution_time und so, hier nicht zu gehen. Habe jetzt memory_limit = 128M; gemacht und das Problem ist weg.
Sorry, habe mal wieder zu früh gefragt.
Vielen Dank nochmal
schöne Grüße
Axel
Hallo Axel,
Ich hatte doch noch eine Änderung in der php.ini gemacht. Da meine Anwendung sehr Speicherlastig ist und große Dateien verarbeitet, wollte ich memory_limit hoch setzen und habe memory_limit = 0; gemacht.
Korrekt wäre: memory_limit = -1;
Viele Grüße,
Christian
Hallo,
Korrekt wäre: memory_limit = -1;
ok, vielen Dank für den Tip. Komisch bei den anderen steht in den Kommentaren immer mit drin: "0 für kein Limit" oder sowas. (Natürlich englisch). Das mit dem -1 stand dort nicht. Interessant.
Schöne Grüße
Axel
Hallo Axel,
ok, vielen Dank für den Tip. Komisch bei den anderen steht in den Kommentaren immer mit drin: "0 für kein Limit" oder sowas. (Natürlich englisch). Das mit dem -1 stand dort nicht. Interessant.
In den Kommentaren steht oftmals Murks (in meinen Augen). In der Doku selbst steht's richtig drin:
| Um keine Speicherobergrenze festzulegen, stellen Sie diese Direktive auf den Wert -1.
Viele Grüße,
Christian