Apache falhando com um erro 500

1

Eu tenho um Apach Http Server que começou a falhar em um de seus hosts virtuais com um erro 500. Fui direto para os logs, acionei o problema e o resultado foi uma entrada normal no log de acesso e nenhuma menção nos logs de erros.

Isso está rodando o PHP, então eu corro

php index.php

no diretório do aplicativo e ele corre bem. Não é um problema de PHP, ou melhor, é improvável.

Eu defino o LogLevel para depurar e o que eu vejo nos logs de erro é exatamente isso:

[Sat Jul 04 08:41:10 2009] [error] [client 84.72.21.12] File does not exist: /var/www/example.com/public/favicon.ico, referer: http://example.com/

e no log de acesso:

84.72.21.12 - - [04/Jul/2009:08:40:29 -0400] "GET / HTTP/1.1" 500 - "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_7; en-us) AppleWebKit/530.18 (KHTML, like Gecko) Version/4.0.1 Safari/530.18"
84.72.21.12 - - [04/Jul/2009:08:40:29 -0400] "GET /favicon.ico HTTP/1.1" 404 361 "http://example.com/" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_7; en-us) AppleWebKit/530.18 (KHTML, like Gecko) Version/4.0.1 Safari/530.18"

Alguma idéia do que mais tentar?

    
por pupeno 04.07.2009 / 05:57

3 respostas

1

Foi um erro do PHP. Habilitar a exibição de erros do PHP mostrou isso e o motivo pelo qual eu não vi quando eu estava executando o script manualmente é porque eu estava rodando como root e o erro era a falta de permissão para gravar dados temporários em um diretório.

    
por 04.07.2009 / 17:34
1

Verifique se não há arquivo .htaccess no caminho da pasta até o arquivo php. Isto é, se path for /var/www/html/a/b/test.php. Certifique-se de que não haja arquivos .htacces nas pastas / var / www / html, / var / www / html / a, / var / www / html / a / b. Se houver arquivos .htaccess, renomeie-os para outra coisa e tente novamente.

Na maioria das vezes recebo 500 erros devido ao arquivo .htaccess incorreto e desde então não aparecem em simples 'ls', é difícil entender que eles são a fonte do problema.

    
por 04.07.2009 / 12:28
0

Você está invocando PHP através de libapache2-mod-php (mod_php) ou através de algo como FastCGI? Por favor, deixe-nos saber as versões que você instalou, sua distribuição, verifique as permissões de arquivo / diretório e tente;

tail -f /var/log/apache2/access.log /var/log/apache2/error.log

Ou altere-o para se seus registros estiverem em um local diferente. Em seguida, tente acessar o site com seu navegador, e também o que você obtém juntando 'test.php' com:

<?php
  phpinfo();
?>

Exibe uma página corretamente?

    
por 04.07.2009 / 17:34