Назад | Перейти на главную страницу

«Сервер закрыл соединение, не отправив никаких данных»

  1. Настройка сервера
  2. Эта проблема
  3. Диагностическая информация
  4. Что я пробовал
  5. Требуется конкретная помощь

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 МБ)

; http://php.net/memory-limit

memory_limit = 512 МБ

г) Отключение всех плагинов Wordpress и возврат к теме по умолчанию.


5. Требуется особая помощь Мне бы очень хотелось помощи в отладке того, что здесь происходит. Я не уверен, как определить, какие процессы находятся в журнале ошибок Apache, которые завершают "[уведомление] дочерний pid 1955 сигнал выхода Исключение с плавающей запятой (8)", или что их вызывает. И является ли сухосин частью проблемы (и как его отключить, если он есть).

Заранее благодарим вас за любые советы или подсказки, которые вы можете предложить, чтобы помочь мне отладить это.

У вас включено расширение xdebug php? Я отключил его в своих файлах конфигурации php, и с тех пор не было подобных сбоев.

Обновление: ошибка вернулась, поэтому расширение xdebug не является причиной ...

Вы используете php, и я сначала посмотрю в этом направлении, но похоже, что вы уже делаете это. Я сделал быстрый поиск по теме «исключение сигнала выхода с плавающей запятой», и очень часто появляется apache + php. Возможно, один из скриптов php поврежден либо по дизайну, либо из-за слегка поврежденного файла.

Продолжайте устранять связанные с php вещи, пока не прекратятся сбои, удалите скрипты / сайты / плагины, повторно загрузите и переустановите пакеты php и другие связанные пакеты (включая apache2).