1. У меня следующая настройка сервера:
(Запуск в виртуальной машине с использованием Hyper-V)
Debian Squeeze
Linux 2.6.32-5-amd64
Apache2-mpm-prefork 2.2.16-6 + squeeze10
PHP 5.3.3-7 + squeeze14
Этот сервер защищен патчем Suhosin Patch 0.9.9.1.
Максимальное количество запросов на ребенка: 0 - Keep Alive: включено - Максимальное количество запросов на подключение: 100
Таймауты подключения: 300 - Keep-Alive: 15
Загруженный ядро модули mod_log_config mod_logio PreFork http_core mod_so mod_alias mod_auth_basic mod_auth_digest mod_authn_file mod_authz_default mod_authz_groupfile mod_authz_host mod_authz_user mod_cgi mod_deflate mod_dir mod_env mod_mime mod_negotiation mod_php5 mod_reqtimeout mod_rewrite mod_setenvif mod_ssl mod_status
Wordpress 3.4.2 (скоро обновление до 3.5 :)
2. Проблема
Когда я перезапускаю сервер (sudo shutdown -r now), переход на любую страницу веб-сайта приводит к следующей ошибке в веб-браузере (в данном случае Google Chrome, но другие браузеры также показывают ту же ошибку). Эта ошибка также может возникнуть примерно через час после того, как все работает нормально, по-видимому, случайным образом, что является моей самой большой проблемой, поскольку это означает, что мой сервер ненадежен:
Данные не получены. Невозможно загрузить веб-страницу, поскольку сервер не отправил данные. Вот несколько предложений: Перезагрузите эту веб-страницу позже. Ошибка 324 (net :: ERR_EMPTY_RESPONSE): сервер закрыл соединение без> отправки каких-либо данных.
3. Диагностическая информация Журнал ошибок apache содержит следующие записи:
[Пт, 14 декабря, 22:23:27 2012] [уведомление] дочерний идентификатор PID 1955, сигнал выхода, исключение с плавающей точкой (8)
[Пт, 14 декабря, 22:23:27 2012] [примечание] дочерний pid 1956, сигнал выхода, исключение с плавающей точкой (8)
[Пт, 14 декабря, 22:23:29 2012] [уведомление] дочерний идентификатор 1957, сигнал выхода, исключение с плавающей точкой (8)
[Пт, 14 декабря, 22:23:30 2012] [уведомление] дочерний pid 1958 сигнал выхода, исключение с плавающей точкой (8)
[Пт, 14 декабря, 22:23:32 2012] [примечание] дочерний pid 1959, сигнал выхода, исключение с плавающей точкой (8)
[Пт, 14 декабря, 22:23:32 2012] [уведомление] дочерний pid 1960 сигнал выхода Исключение с плавающей точкой (8)
[Пт, 14 декабря, 22:23:34 2012] [примечание] дочерний идентификатор PID 1961, сигнал выхода, исключение с плавающей точкой (8)
[Пт, 14 декабря, 22:23:34 2012] [примечание] дочерний pid 1962 сигнал выхода: исключение с плавающей точкой (8)
4. Что я пробовал
а) Я могу временно «исправить» веб-сайт, дважды перезагрузив сервер (сброс один раз не работает), используя следующие команды. NB: опция «перезагрузка» не работает, мне приходится использовать перезагрузку дважды. Однако через некоторое время ошибка может повториться.
sudo /etc/init.d/apache2 перезапуск sudo /etc/init.d/apache2 перезапуск
б) Я попытался отключить suhosin, удалив php5-suhosin, но на странице информации о php все еще отображается сообщение «Этот сервер защищен с помощью Suhosin Patch 0.9.9.1». Я попытался перевести Suhosin в режим моделирования, создав файл /etc/php5/apache2/conf.d/suhosin.ini, содержащий:
[suhosin] suhosin.simulation = Вкл.
На странице информации php файл suhosin.ini отображается в списке «Дополнительные проанализированные файлы .ini», но на странице информации php по-прежнему отображается «Этот сервер защищен патчем Suhosin 0.9.9.1».
c) Увеличение лимита памяти PHP в / etc / php5 / apache2 /:
; Максимальный объем памяти, который может использовать скрипт (128 МБ)
memory_limit = 512 МБ
г) Отключение всех плагинов Wordpress и возврат к теме по умолчанию.
5. Требуется особая помощь Мне бы очень хотелось помощи в отладке того, что здесь происходит. Я не уверен, как определить, какие процессы находятся в журнале ошибок Apache, которые завершают "[уведомление] дочерний pid 1955 сигнал выхода Исключение с плавающей запятой (8)", или что их вызывает. И является ли сухосин частью проблемы (и как его отключить, если он есть).
Заранее благодарим вас за любые советы или подсказки, которые вы можете предложить, чтобы помочь мне отладить это.
У вас включено расширение xdebug php? Я отключил его в своих файлах конфигурации php, и с тех пор не было подобных сбоев.
Обновление: ошибка вернулась, поэтому расширение xdebug не является причиной ...
Вы используете php, и я сначала посмотрю в этом направлении, но похоже, что вы уже делаете это. Я сделал быстрый поиск по теме «исключение сигнала выхода с плавающей запятой», и очень часто появляется apache + php. Возможно, один из скриптов php поврежден либо по дизайну, либо из-за слегка поврежденного файла.
Продолжайте устранять связанные с php вещи, пока не прекратятся сбои, удалите скрипты / сайты / плагины, повторно загрузите и переустановите пакеты php и другие связанные пакеты (включая apache2).