Мой PHP-CGI начал обслуживать пустые страницы без видимой причины, пока я не перезапустил процесс.
Я хочу знать почему.
К сожалению, «рабочий» конфигурационный файл PHP не имеет error_log по умолчанию. Мой журнал ошибок Nginx также не отображал ошибок, связанных с PHP. Это, вероятно, безнадежный случай, но я спрашиваю на всякий случай.
Вот моя установка
- Nginx 0.8.2
- PHP 5.2.6-3ubuntu4.1 с Suhosin-Patch 0.9.6.2 (cli) (сборка: 23 апреля 2009 14:37:14)
- PHP APC 3.0.19-2
- spawn-fcgi v1.6.2 (ipv6) - оболочка fastcgi от lighttpd
Есть идеи, что могло вызвать ошибку?
Обновить
Я думаю, что я изолировал проблему. Я использовал Monit для автоматического перезапуска PHP, когда он начинал гасить. Мои журналы ошибок PHP пустые.
Но я понял, что если я отключу плагин Wordpress под названием WP-SuperCache, мой PHP перестанет сбрасываться каждые ~ 10 часов. Пока мой PHP работает уже 3 дня подряд. У кого-нибудь есть предложения по этому поводу?
Проверьте статус ответа на ваши запросы, если это произойдет снова (например, curl -i), и если статус не равен 200, проверьте страницы с ошибками (в частности, те страницы с указанным номером ошибки) и убедитесь, что это не так. установить для перенаправления таким образом, что может вызвать бесконечный цикл.
Если статус ответа 200, проверьте, есть ли в ответе какой-либо текст, кроме заголовков HTTP.
источник
Это обычная проблема, лучшее, что вы можете сделать, это каждую ночь перезапускать spawn-fcgi и просматривать журналы ошибок. Небольшая программа Python LogWatch, которая перезапустит ваш PHP, можно найти здесь.
http://hostingfu.com/article/keeping-your-php-fastcgi-processes-alive
источник
Не ответ, но предложение - замените spawn-fcgi на php-fpm, это более настраиваемо.
PS. может быть, у вас есть специальная 50-кратная ошибка перенаправления страницы в nginx.conf
UPD: сегодня я столкнулся с подобной проблемой, когда nginx + php начал обслуживать пустые страницы. Мое исследование показало, что он отправляет пустую страницу независимо от того, что php выдал исключение. Может быть, это какая-то директива php.ini, которая служит пустым вместо ошибки. Я должен изучить журналы и т. Д. Вайп.
UPD2: посмотрите на ваш php.ini, в нем есть 2 параметра, которые вам нужно изменить, чтобы увидеть ошибки php:
источник
Выражение «самопроизвольно произошло за одну ночь» звучит интересно ... Возможно ли, что ваш хост начал добавлять дополнительные заголовки статуса ко всему трафику? Если это так, вы можете увидеть эту ошибку:
Joomla! php, FastCGI, пустая страница и дубликат заголовка «Статус»
источник