500 - Erro interno do servidor NÃO aparecendo em error.log (ou access.log)

2

Estou tentando rastrear um bug ou uma configuração incorreta em nosso novo servidor web Debian executando um site dirigido PHP / MySQL com apache . Eu não vou te incomodar com os detalhes, mas só quero perguntar:

Alguém lá já observou o navegador da web recebendo um " link ", enquanto NADA aparece no log de acesso e erro do apache? Atualmente, não é sobre os detalhes aqui, mas apenas que eu acredito que esse comportamento estranho já deve levar na direção certa, já que eu não acredito que haja muitas possibilidades onde isso possa acontecer.

Quando este erro interno do servidor acontece, os scripts PHP continuam rodando muito bem sem qualquer falha, mas é claro que o resultado que eles querem entregar ao navegador nunca aparecerá, já que o navegador já pensa em seu erro interno no servidor do mundo como ele sabe disso.

Qualquer comentário / ideia é bem-vindo,

Romano.

    
por Roman Blöth 19.04.2011 / 15:54

7 respostas

4

RESOLVIDO: Infelizmente, há um balanceador de carga controlando o servidor e o balanceador de carga foi configurado para interromper as conexões após 10 segundos de inatividade. O problema está resolvido agora. A razão pela qual o 500 não apareceu no error.log do apache é que ele era o sistema "externo" (o balanceador de carga) parando a conexão, não o próprio servidor. Obrigado a todos por suas idéias e ajuda! Espero que alguém ache isso esclarecedor algum dia.

Atenciosamente, Romano.

    
por 20.04.2011 / 09:37
2

Isso pode ser um problema com a diretiva LogLevel do Apache ou pode estar relacionado para o erro de tempo de execução do PHP.

    
por 19.04.2011 / 16:04
1

Outra possibilidade: procure @ em seus arquivos de origem.

Extrair da documentação do php

Warning
Currently the "@" error-control operator prefix will even disable error reporting for critical errors that will terminate script execution. Among other things, this means that if you use "@" to suppress errors from a certain function and either it isn't available or has been mistyped, the script will die right there with no indication as to why.

Os créditos são para Luc M , o que me salvou e muitos usuários do CodeIgniter.

    
por 07.04.2016 / 01:38
0

Ele só será exibido no log de erros do apache se o erro for gerado dentro do código apache - mas você ainda deve vê-lo no log de acesso (com um código de status de 500) se o status estiver definido no código PHP. Embora possa haver casos em que os processos do PHP falham completamente (embora sejam muito raros).

NB também pode ocorrer quando se conecta via proxy e o proxy falha.

    
por 19.04.2011 / 16:02
0

O 500 vem de outro host via algo em linha no documento? Talvez você tenha o seu CSS ou algo assim vindo de outra caixa? Além disso, tente adicionar uma Diretiva ErrorLog . Use as ferramentas do Firebug ou Chrome webdev para descobrir de onde o 500 está vindo, pode até ser um anúncio ou algo na página.

Tente também algo como CURL ou LWP para fazer uma solicitação, ver quais são os cabeçalhos de resposta, por exemplo:

lwp-request -m HEAD -eSsd http://www.google.com/
HEAD http://www.google.com/ --> 200 OK
Cache-Control: private, max-age=0
Connection: close
Date: Tue, 19 Apr 2011 15:56:26 GMT
Server: gws
Content-Type: text/html; charset=ISO-8859-1
Expires: -1
Client-Date: Tue, 19 Apr 2011 15:56:26 GMT
Client-Peer: 74.125.91.99:80
Client-Response-Num: 1
Client-Transfer-Encoding: chunked
Set-Cookie:
REF=ID=b4ac3801dfbd939c:FF=0:TM=1303228586:LM=1303228586:S=nU_H2eC3zcLbTKfb;
expires=Thu,18-Apr-2013 15:56:26 GMT; path=/; domain=.google.com Set-Cookie:
NID=46=dsepCUy0iW9MDD7AkaP1-P4INDfRLTXz7l_TchQFzCGqtP4GU1EFbpn7K-sKq-ujNhpnR
Br8Cqgdyd3LyC3mxsRDOCCFoOn2OutZad7VWFs5erWVh0UNgEgkQJGqRe-; expires=Wed, 19-Oct-2011
15:56:26 GMT; path=/; domain=.google.com; HttpOnly
X-XSS-Protection: 1; mode=block

edite: GF detectou um erro de digitação.

    
por 19.04.2011 / 17:48
0

Eu tive o mesmo problema e isso foi causado pela configuração do relatório de erros no PHP. Embora eu tivesse E_ERROR | E_WARNING | E_PARSE no meu .htaccess O PHP não registrou o erro fatal do PHP no log de erros. Apenas 500 em accesslog. Até metade da página foi gerada (até eu chamar a função com esse erro).

    
por 18.10.2011 / 13:09
0

Para projetos do Symfony, não esqueça de verificar app / logs

Você pode encontrar mais detalhes sobre essa questão: link

Btw, outros frameworks ou CMS podem ter um comportamento similar.

    
por 04.01.2017 / 11:22