php-fpm child process exited on signal 11
Unsere Anwendung ausführen, die auf docker-container auf der AWS-Plattform.
Betriebssystem: Ubuntu 14.04.2 LTS
Nginx-Version: nginx/1.4.6 (Ubuntu)
Memcached-Version: memcached 1.4.14
PHP Version: PHP 5.5.9-1ubuntu4.11 (cli) (built: Feb 2 2015 15:23:08)
System Speicher: 7,5 GB
Bekommen wir leere Seiten und 404 Fehler weniger Häufig. Beim überprüfen der logs festgestellt, dass php-Kind-Prozess wird getötet und es scheint, dass der Speicher meist von memcache und php-fpm Prozess und sehr wenig freier Speicher.
memcache konfiguriert ist, mit 2GB Speicher.
Hier ist php www.conf
pm = dynamic
pm.max_children = 30
pm.start_servers = 9
pm.min_spare_servers = 4
pm.max_spare_servers = 14
rlimit_files = 131072
rlimit_core = unlimited
Fehlerprotokolle
/var/log/nginx/php5-fpm.log
[29-Jul-2015 14:37:09] WARNING: [pool www] child 259 exited on signal 11 (SIGSEGV - core dumped) after 1339.412219 seconds from start
/var/log/nginx/error.log
2015/07/29 14:37:09 [error] 141#0: *2810 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: x.x.x.x, server: _, request: "GET /suggestions/business?q=Selectfrom HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "example.com", referrer: "http://example.com/"
/var/log/nginx/php5-fpm.log
[29-Jul-2015 14:37:09] NOTICE: [pool www] child 375 started
/var/log/nginx/php5-fpm.log:[29-Jul-2015 14:37:56] WARNING: [pool www] child 290 exited on signal 11 (SIGSEGV - core dumped) after 1078.606356 seconds from start
Coredump
Core was generated by php-fpm: pool www.Program terminated with signal SIGSEGV, Segmentation fault.#0 0x00007f41ccaea13a in memcached_io_readline(memcached_server_st*, char*, unsigned long, unsigned long&) () from /usr/lib/x86_64-linux-gnu/libmemcached.so.10
dmesg
[Wed Jul 29 14:26:15 2015] php5-fpm[12193]: segfault at 7f41c9e8e2da ip 00007f41ccaea13a sp 00007ffcc5730ce0 error 4 in libmemcached.so.10.0.0[7f41ccad2000+32000]
[Wed Jul 29 14:28:26 2015] php5-fpm[12211]: segfault at 7f41c966b2da ip 00007f41ccaea13a sp 00007ffcc5730ce0 error 4 in libmemcached.so.10.0.0[7f41ccad2000+32000]
[Wed Jul 29 14:29:16 2015] php5-fpm[12371]: segfault at 7f41c9e972da ip 00007f41ccaea13a sp 00007ffcc5730b70 error 4 in libmemcached.so.10.0.0[7f41ccad2000+32000]
[Wed Jul 29 14:35:36 2015] php5-fpm[12469]: segfault at 7f41c96961e9 ip 00007f41ccaea13a sp 00007ffcc5730ce0 error 4 in libmemcached.so.10.0.0[7f41ccad2000+32000]
[Wed Jul 29 14:35:43 2015] php5-fpm[12142]: segfault at 7f41c9e6c2bd ip 00007f41ccaea13a sp 00007ffcc5730b70 error 4 in libmemcached.so.10.0.0[7f41ccad2000+32000]
[Wed Jul 29 14:37:07 2015] php5-fpm[11917]: segfault at 7f41c9dd22bd ip 00007f41ccaea13a sp 00007ffcc5730ce0 error 4 in libmemcached.so.10.0.0[7f41ccad2000+32000]
[Wed Jul 29 14:37:54 2015] php5-fpm[12083]: segfault at 7f41c9db72bd ip 00007f41ccaea13a sp 00007ffcc5730ce0 error 4 in libmemcached.so.10.0.0[7f41ccad2000+32000]
Bitte lassen Sie mich wissen, wenn es benötigt mehr Informationen
Vielen Dank im Voraus
Einige andere user berichtet Kompatibilität Problem mit PHP 5.5 und memcache-Erweiterung. Alle workaroud für dieses Problem zu beheben. github.com/yiisoft/yii2/issues/7100
Ich habe gewechselt von os, debian und es wurde das Problem behoben, vorerst.
InformationsquelleAutor jobycxa | 2015-07-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Während googeln für das gleiche Problem und versucht eine Lösung zu finden, war nicht im Zusammenhang mit Sitzungen (denn ich habe entschieden, dass aus) noch schlechten PHP-code (denn ich habe mehrere websites laufen genau die gleiche version von WordPress und haben keine Probleme... außer einer), und ich kam auf die Antwort zu sagen, dass eine mögliche Lösung hast, beinhalten das entfernen einige buggy-Erweiterung (in der Regel memcache/d, aber könnte etwas anderes sein).
Da hatte ich das gleiche Website funktioniert einwandfrei auf einem Ubuntu-server, beim Umschalten auf einen neueren server, ich habe sofort geahnt, dass Sie es war, die migration von PHP 5.5 auf 7, die das problem verursacht. Es war nur seltsam, weil keine andere website, die betroffen war. Dann erinnerte ich mich, dass eine andere Sache war anders auf diesem neuen server: hatte ich auch installiert Neue Reliquie. Dies ist sowohl eine Erweiterung und ein kleiner server, der läuft im hintergrund und sendet eine Menge von analytics-Daten, um Neue Reliquie für die Verarbeitung. Angeblich, es ist eine PHP 5-Erweiterung, aber überraschend, es lädt auch auf PHP 7 auch.
Hier nun kommt der trickreiche Teil. Irgendwann hatte ich installiert W3 Total Cache für WordPress installation, dass bestimmte website. Anschließend sah ich, dass die performance der server war so stellaren, dass W3TC war unnötig und einfach fest zu einer viel einfacheren Konfiguration. So konnte ich deinstallieren W3TC. Das ist alles sehr schön, aber... ich vergaß, dass ich hatte New Relic auf W3TC auch (angeblich, es fügt einige zusätzliche analytics-Daten gesendet werden, um Neue Reliquie). Beim deinstallieren von W3TC, wahrscheinlich war 'etwas' Links auf das Neue Relikt-Konfiguration in meiner server, war immer noch versucht, Daten zu senden, durch die W3TC-Schnittstelle (unter der Annahme, dass W3TC hat eine Schnittstelle... ich habe wirklich keine Ahnung, wie es funktioniert auf dieser Ebene), und, weil, dass bestimmte bit-code fehlte, die php_fpm handler für die website scheitern würde... einige Zeit. Nicht alle die Zeit, denn ich gehe davon aus, dass in den meisten Fällen, nginx war das senden von statischen Seiten zurück. Oder vielleicht php_fpm, auf 'recycle' nach 100 Aufrufe oder so, würde die crash-auf-stop. Was auch immer genau passiert war, es war auf jeden Fall im Zusammenhang mit den Neuen Relic — sobald ich entfernt, der Neue Relikt-Erweiterung von PHP, die website ging zurück, um normalerweise zu arbeiten.
Weil dies ein so bestimmtes Szenario, ich bin einfach nur zu schreiben das als Antwort, in dem remote-chance, dass jemand in der Zukunft googles für das genaue problem.
Komischerweise speziell die gleiche wie bei meinem problem - aktualisierte WP form php5 zu php7 mit W3TC und New Relic. Entfernt PHP neue Reliquie und alles ist gut!
Es ist eigentlich -wahrscheinlich - ein problem bei der de-Serialisierung für php-memcached. , Endung ist nicht wirklich buggy, aber die Standard-serializer Durcheinander bringt von Zeit zu Zeit. Es ist sehr schwer zu finden, andere mit der gleichen segfaults. Sie können dieses Problem beheben, durch die Installation von php5-msgpack und fügen Sie diese in memcached.ini :
memcached.serializer=msgpack
Vergaß zu erwähnen, dass dies nur passiert, wenn opcache aktiviert ist. wie Evan Staaten. auch diese 2 in die ini-Datei sollte auch helfen
opcache.validate_permission=0
,opcache.validate_root=0
Vielen Dank für diesen Hinweis. Es half, indem Sie durch das wissen, dass das Problem mit php-Erweiterungen im Allgemeinen.. es war zend debug-Ausgabe in meinem Fall.
InformationsquelleAutor Gwyneth Llewelyn
Kann es passieren, wenn php nicht in der Lage ist zu schreiben, session-Informationen in die Datei
Standardmäßig ist es
/var/lib/php/session
Sie können es ändern, indem Sie mithilfe von configuration
session_save_path
https://serverfault.com/questions/427596/phpmyadmin-having-problems-on-nginx-and-php-fpm-on-rhel-6/429445
InformationsquelleAutor zainengineer
In meinem Fall, es wurde verursacht durch Neue Reliquie PHP-Agent. Deshalb für die spezifische Funktion, Absturz, ich habe diesen code zum deaktivieren der Neuen Reliquie
finden: https://discuss.newrelic.com/t/how-to-disable-a-specific-transaction-in-php-agent/42384/2
InformationsquelleAutor Irfan Kamil
Ich hatte dieses problem nach der Installation von xdebug, indem einige Eigenschaften von /etc/php/7.1/fpm/php.ini und Neustart von nginx. Dies läuft auf eine Laravel Homestead box.
Einfach Neustart des php7.1-fpm-service gelöst für mich.
InformationsquelleAutor Gudlaugsson
In meinem Fall war es bezogen auf zend debug/xdebug. Er leitet einige tcp-Pakete auf IDE ( phpstorm ), das war nicht lauscht auf diesem port ( debugging war ausgeschaltet). Die Lösung ist entweder deaktivieren Sie diese Erweiterungen oder aktivieren Sie debug-hören auf die debugging-port.
InformationsquelleAutor Abdullah
In unserem Fall war es verursacht durch Saufen + Neue Reliquie. In den Neuen Relic-Agent changelog, Sie haben erwähnt, dass in der version 7.3 gab es einige Saufen fix, aber auch mit der 8.0 funktionierte nicht, also es ist noch etwas falsch. In unserem Fall war dies passiert auch nur bei 2 von unseren Skripten, die Saufen. Wir fanden, dass es zwei Lösungen:
newrelic.guzzle.enabled = false
imnewrelic.ini
. Verlieren Sie Daten in Externe Dienstleistungen Registerkarte in dieser Weise, aber Sie vielleicht nicht brauchen es trotzdem.InformationsquelleAutor labm0nkey
Können Sie in der Regel finden Sie mehr details über die Abstürze in deinem syslog (
/var/log/syslog
auf linux/var/log/system.log
auf mac os).Hatte ich
Sep 14 11:16:26 bob ReportCrash[89504]: Saved crash report for php-fpm[13757] version 0 to /Users/bob/Library/Logs/DiagnosticReports/php-fpm_2017-09-14-111626_MacBob.crash
auf meinem syslog, und die erzeugte Datei alles enthalten, um zu wissen, die Erweiterung, die Schwierigkeiten hatte.InformationsquelleAutor Alain Tiemblo
in meinem Fall hab ich deaktiviert die Pufferung Funktion
ob_start("buffer");
in meinem code 😉InformationsquelleAutor J. Doe
Möglich problem php7.3 + xdebug, ändern Sie bitte Xdebug 2.7.0beta1 auf Xdebug 2.7.0rc1 oder die neueste version xdebug
InformationsquelleAutor alexfort