Onde estão os arquivos de log do Apache e PHP?

228

Instalei o Apache, PHP e MySQL no Ubuntu 10.10 desktop edition, e está funcionando bem.
Exceto que não tenho idéia de onde procurar arquivos de log do Apache ou PHP.

Stann
fonte

Respostas:

315

Por padrão /var/log/apache2/error.log,.

Isso pode ser configurado em /etc/php5/apache2/php.ini.

misterben
fonte
Sim. Entendi. era um pouco diferente no windows.
Stann
1
Apache logs pode ser girado, de modo que você pode querer verificar todos os error.log.*arquivos
nuoritoveri
@misterben, você pode me ajudar a encontrar o mesmo log de erros para o centOS 7? qualquer ideia?
Red Bottle
unix.stackexchange.com/a/269090/2799 tem informações para outras distros
misterben
e se o apache não estiver instalado, apenas php?
mils
67

Verifique estas configurações em php.ini:

  1. error_reporting = E_ALL | E_STRICT (conforme recomendado para desenvolvimento em php.ini)
  2. error_log = /var/log/php_errors.log
  3. Em seguida, crie o arquivo de log manualmente

    touch /var/log/php_errors.log
    chown www-data: /var/log/php_errors.log
    chmod +rw /var/log/php_errors.log
    

Agora você pode visualizar erros de PHP desta maneira

tail /var/log/php_errors.log

Esta é uma solução agradável para este problema para mim.

Nikolay Chuprina
fonte
4
também precisa de um passo para reiniciar o apache para que as configurações entrem em vigor
rbawaskar
Mantenha-o apertado:chmod 640 /var/log/php_errors.log
berbt 04/04
26

Você também pode definir um arquivo de log de erros específico para cada VirtualHost no Apache. Se você tiver um VirtualHost definido /etc/apache2/sites-available/e ativado /etc/apache2/sites-enabled(ativar com sudo a2ensite [your-virtualhost-definition-file]), poderá alterar o log de erros adicionando a seguinte linha dentro da sua configuração do VirtualHost:

ErrorLog ${APACHE_LOG_DIR}/[your-vhost]-error.log

Isso pode ser útil se você tiver muitos vhosts e quiser dividir onde eles relatam os erros.

Além disso, você pode assistir seu log de erros ao vivo emitindo o seguinte comando (adapte-se ao seu próprio arquivo de log, se diferente do padrão):

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

Isso é particularmente útil ao fazer depuração ao vivo.

mais anão
fonte
Funciona! Se eu comentar error_log = syslogno php.ini
mmv-ru
2

Se o Apache foi configurado com o Webmin / Virtualmin, há uma pasta separada para cada VirtualHost.

Isto é

~/logs

pasta para cada usuário do VirtualHost.

Estes são dois arquivos:

~/logs/access_log

e

~/logs/error_log

Então eles são

/home/onedomain/logs/access_log

/home/onedomain/logs/error_log

/home/anotherdomain/logs/access_log

/home/anotherdomain/logs/error_log

...

etc.

Para exibir arquivos de log para cada domínio específico, faça login como usuário proprietário do VirtualHost desse nome de host e execute

tail -f ~/logs/error_log

Ilyich
fonte