Ich habe ein PHP-FPM-Setup mit Apache 2.4 unter Verwendung von proxy_fcgi, alles funktioniert einwandfrei, aber bei jeder von 4-6 Anfragen gibt Apache eine leere Seite zurück. Dies geschieht auf meiner Hauptseite http://danielhe.com/ , aber nicht auf Subdomain-Vhosts.
Dies zeigt das Apache-Fehlerprotokoll [client x] AH01070: Fehler beim Parsen von Skript-Headern
Und schließlich manchmal Apache segfaults AH00052: Child PID 9740 Exit Signal Segmentierungsfehler (11)
Ich kann die "Fehler beim Parsen von Skript-Headern" sehr einfach reproduzieren, indem ich die Seite ein paar Mal aktualisiere, aber der Seg-Fehler tritt zufällig nach einigen "Fehler beim Parsen von Skript-Headern" auf.
Update Ich habe eine Lösung für die Seg-Fehler gefunden und das WSOD hat sich anscheinend selbst behoben. mod_deflate hat einige Probleme, aber diese Konfiguration aus der Apache-Dokumentation hat es behoben
SetOutputFilter DEFLATE
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
# Don't compress images
SetEnvIfNoCase Request_URI \
\.(?:gif|jpeg|jpg|png)$ no-gzip dont-vary
# Make sure proxies don't deliver the wrong content
Header append Vary User-Agent env=!dont-vary
quelle
Antworten:
Die Lösung bestand darin, diese Konfiguration zu verwenden
quelle
Ich kann bestätigen, dass die oben genannte Lösung für mich funktioniert hat, musste aber auch meine ProxyPassmatch-Einstellungen korrigieren.
Alte Konfiguration
Neue Konfiguration - anderer Umschreibungsfilter plus Code von oben
quelle
Das Problem hierbei ist, dass die Antwort von phpList kein vollständiges Paket ausfüllt. php-fpm unterbricht die Verbindung mit Apache vorzeitig, wenn die Antwort nicht mindestens einen Puffer ausfüllt. Als Workaround können Sie vorübergehend zu mod_php wechseln oder die Antwort mit zufällig generiertem Text auffüllen.
quelle