“O servidor fechou a conexão sem enviar nenhum dado”

6
  1. Configuração do servidor
  2. O problema
  3. Informações de diagnóstico
  4. O que eu tentei
  5. Ajuda específica necessária

1. Eu tenho a seguinte configuração do servidor:

(em execução em uma VM usando o Hyper-V)

Debian Squeeze

Linux 2.6.32-5-amd64

Apache2-mpm-prefork 2.2.16-6 + squeeze10

PHP 5.3.3-7 + squeeze14

Este servidor é protegido com o Suhosin Patch 0.9.9.1

Solicitações máximas por filho: 0 - Manter ativo: ativado - Máx. por conexão: 100

Conexão de tempos de espera: 300 - Keep-Alive: 15

Módulos Carregados núcleo 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_negociação mod_php5 mod_reqtimeout mod_rewrite mod_setenvif mod_ssl mod_status

Wordpress 3.4.2 (Atualizando para 3.5 em breve:)

2. O problema

Quando eu reiniciar o servidor (sudo shutdown -r now), indo para qualquer página do site resulta no seguinte erro do navegador da web (no caso, o Google Chrome, mas outros navegadores também mostram o mesmo erro). Esse erro também pode ocorrer uma hora depois que tudo estiver funcionando ok, aparentemente aleatoriamente, o que é minha maior preocupação, pois significa que meu servidor não é confiável:

No data received Unable to load the web page because the server sent no data. Here are some suggestions: Reload this web page later. Error 324 (net::ERR_EMPTY_RESPONSE): The server closed the connection without >sending any data.

3. Informação diagnóstica O log de erros do apache contém as seguintes entradas:

[Fri Dec 14 22:23:27 2012] [notice] child pid 1955 exit signal Floating point exception (8)

[Fri Dec 14 22:23:27 2012] [notice] child pid 1956 exit signal Floating point exception (8)

[Fri Dec 14 22:23:29 2012] [notice] child pid 1957 exit signal Floating point exception (8)

[Fri Dec 14 22:23:30 2012] [notice] child pid 1958 exit signal Floating point exception (8)

[Fri Dec 14 22:23:32 2012] [notice] child pid 1959 exit signal Floating point exception (8)

[Fri Dec 14 22:23:32 2012] [notice] child pid 1960 exit signal Floating point exception (8)

[Fri Dec 14 22:23:34 2012] [notice] child pid 1961 exit signal Floating point exception (8)

[Fri Dec 14 22:23:34 2012] [notice] child pid 1962 exit signal Floating point exception (8)

4. O que eu tentei

a) Eu posso 'consertar' o site temporariamente, redefinindo o servidor duas vezes (redefinindo-o uma vez não funciona) usando os seguintes comandos. NB: a opção 'reload' não funciona, eu tenho que usar o restart duas vezes. No entanto, o erro pode ocorrer novamente mais tarde.

sudo /etc/init.d/apache2 restart sudo /etc/init.d/apache2 restart

b) Eu tentei desativar o suhosin desinstalando o php5-suhosin, mas uma página de informações do php ainda mostra "Este servidor está protegido com o Suhosin Patch 0.9.9.1". Eu tentei colocar Suhosin no modo de simulação criando um arquivo /etc/php5/apache2/conf.d/suhosin.ini contendo:

[suhosin] suhosin.simulation = On

A página de informações do php mostra o arquivo suhosin.ini na lista de "Arquivos .ini adicionais analisados", mas a página de informações do php ainda mostra "Este servidor está protegido com o Suhosin Patch 0.9.9.1"

c) Aumentando o limite de memória do PHP Em / etc / php5 / apache2 /:

; Maximum amount of memory a script may consume (128MB)

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

memory_limit = 512M

d) Desabilitando todos os plugins do Wordpress, e voltando ao tema padrão.

5. Ajuda específica necessária Eu gostaria muito de ajudar na depuração do que está acontecendo aqui. Não tenho certeza de como determinar quais processos estão no log de erros do Apache que estão saindo "[notice] child pid 1955 exit signal Ponto flutuante de exceção (8)", ou o que está fazendo com que eles saiam. E se suhosin é parte do problema (e como desativá-lo se for).

Agradeço antecipadamente por qualquer conselho ou dicas que você possa oferecer para me ajudar a depurar isso.

    
por Toby 14.12.2012 / 11:36

2 respostas

2

Você tem a extensão xdebug do php habilitada? Eu desativei em meus arquivos de configuração do php e não tive um acidente semelhante desde.

Atualização: o erro está de volta, então a extensão xdebug não é a causa ...

    
por 21.01.2013 / 16:52
0

Você usa o php e eu olharia nessa direção primeiro, mas parece que é isso que você já está fazendo. Eu fiz uma pesquisa rápida sobre a "exceção de ponto flutuante de sinal de saída" coisa e apache + php aparece muito. Talvez um dos scripts php seja quebrado, seja por design ou por um arquivo sutilmente corrompido.

Continue eliminando as coisas relacionadas ao php até que as paralisações sejam interrompidas, remova scripts / sites / plug-ins, faça o download novamente e reinstale os pacotes php e outros pacotes relacionados (incluindo o apache2).

    
por 14.12.2012 / 21:30