PHP/Apache-Absturz auf Skript (Segmentation fault (11)

[GELÖST]

Bin ich mit einem PHP-script (mit includes) auf localhost, der stürzt vor dem Ende.

Error reporting ist auf. Opera, Safari und Firefox zurück ein leerer Bildschirm.
Aber Chrome gibt:

Nicht laden der Webseite, da der server keine Daten gesendet. Fehler
code: ERR_EMPTY_RESPONSE

Apache-logs gibt:

[Sun Jan 15 19:29:23 2013] [notice] child pid-34267-exit-signal
Segmentation fault (11)

Wurde mit der PHP-5.5.6 als ich das problem zum ersten mal
Nach dem Downgrade auf PHP 5.4.21 das problem besteht immer noch.

Liegt das problem nicht im script. Zufällig auskommentieren von ein paar 50 Zeilen code löst das problem. Das macht mich Frage mich, ob mein Skript zu lange für die Ausführung.

Wer hat irgendwelche Vorschläge, wie ich dieses problem lösen kann?

UPDATE:

Problem nicht erscheint nur auf dem localhost, aber auch auf meinem webserver laufen auf CentOs 6.4 und PHP 5.3.3 und geben die gleichen Fehler auf Apache.

[Sun Dec 15 23:15:10 2013] [notice] child pid 18409 exit-signal
Segmentation fault (11)

UPDATE2:

Php von der Kommandozeile gibt:

$ php index.php Fatal error: Call to undefined function
mcrypt_create_iv() in Encrypt.class.php on line 135

Nachdem Sie ein Kommentar vor Zeile 135 auf Encrypt.class.php

$ php index.php

Segmentation fault: 11

UPDATE3: (Lösung)

Nach dem ausführen des index auf der Kommandozeile mit strace (strace php index.php) fand ich das problem bei einer der Abfragen.

Nach etwas mehr debugging (mit PDO und nicht in meiner eigenen Klasse) fand ich heraus, dass das problem war die Einstellung meiner eigenen PDO option "ATTR_PERSISTENT => true". Deaktivieren Sie diese option mein problem gelöst.

  • Führen Sie das Skript von der Kommandozeile aus. Wenn es wirft ein segmentation fault, Ihre PHP-version muss neu installiert werden. Wenn es läuft einfach gut von der Kommandozeile aus, dann sollten Sie wahrscheinlich die re-Installation von Apache. Welche Zeile code wirft diesen Fehler genau. Weißt du das?
  • ausführen der Datei in der Befehlszeile gibt ein "Schwerwiegender Fehler" Call to undefined Funktion mcrypt_create_iv() in Encrypt.class.php auf der Linie 135. Diese Funktion funktioniert im browser. Keine bestimmte Zeile gibt den Fehler.
  • Wenn Sie heruntergestuft PHP, sind Sie sicher, dass alle die Erweiterung .also Dateien wurden herabgestuft zu? Vielleicht sind Sie mit einem PHP 5.5 mcrypt extension mit PHP 5.4 oder 5.3 (und nicht wie es überhaupt in welcher php.ini-Ihre CLI liest aus)
  • Downgrade ging erfolgreich. Aufgewertet durch macports und kehrte zu Standard-PHP auf osx 10.9 ändern Sie den Pfad in der httpd.conf. mcrypt-Erweiterung funktioniert auch auf meinem webserver auf PHP 5.3.3
  • Wenn Sie haben das problem gelöst, kannst du bitte posten Sie Ihre Lösung als separate Antwort und dann zu akzeptieren? Das macht es viel einfacher für Menschen, um zu sehen, was die Lösung war, entfernen die Frage von der 'offenen Fragen' queue.
InformationsquelleAutor webecreative | 2013-12-15
Schreibe einen Kommentar