У меня есть настройка PHP-FPM с Apache 2.4 с использованием proxy_fcgi, все работает нормально, но каждый из 4-6 запросов, Apache возвращает пустую страницу. Это происходит на моем основном сайте http://danielhe.com/ , но не на поддоменах vhosts.
Это показывает журнал ошибок Apache, [клиент x] AH01070: Ошибка синтаксического анализа заголовков скрипта
И в конце концов, иногда Apache segfaults AH00052: дочерний pid 9740, выходной сигнал Ошибка сегментации (11)
Я могу очень легко воспроизвести «Ошибка синтаксического анализа заголовков сценария», обновив страницу пару раз, но ошибка сегмента происходит случайно после пары «Ошибка синтаксического анализа заголовков сценария»
Обновление Я нашел исправление для ошибок seg, и WSOD, по-видимому, исправил себя. У mod_deflate есть некоторые проблемы, но этот конфиг из документации Apache исправил это
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
источник
Ответы:
Решение было использовать эту конфигурацию
источник
Я могу подтвердить, что вышеупомянутое решение работает для меня, но мне также пришлось исправить настройки ProxyPassmatch.
Старый конфиг
Новый конфиг - другой фильтр перезаписи, плюс код сверху
источник
Проблема здесь в том, что ответ от phpList не заполняет полный пакет. php-fpm преждевременно разрывает соединение с Apache, если его ответ не заполняет хотя бы один буфер. В качестве обходного пути вы можете временно переключиться на mod_php или дополнить ответ каким-нибудь случайно сгенерированным текстом.
источник