error_log por Host Virtual?

votos
97

Em um servidor Linux rodando Apache e PHP 5, temos várias máquinas virtuais com arquivos de log separados. Nós não consigo separar o php error_logentre hosts virtuais.

Substituindo essa configuração no <Location>do httpd.confnão parece fazer nada.

Existe uma maneira de ter php separado error_logspara cada Host Virtual?

Publicado 01/08/2008 em 19:37
fonte usuário
Em outras línguas...                            


11 respostas

votos
133

Se alguém vem procurando se deve olhar como este:

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /var/www/domains/example.com/html
    ErrorLog /var/www/domains/example.com/apache.error.log
    CustomLog /var/www/domains/example.com/apache.access.log common
    php_flag log_errors on
    php_flag display_errors on
    php_value error_reporting 2147483647
    php_value error_log /var/www/domains/example.com/php.error.log
</VirtualHost>

Esta é para o desenvolvimento somente desde display_errorestá ligado. Você vai notar que log de erro do Apache é separado do log de erros PHP. A coisa boa é php.error.log.

Dê uma olhada aqui para a error_reportingchave http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reporting

Respondeu 26/08/2010 em 16:29
fonte usuário

votos
72

Para definir o Apache ( não o PHP ) login, a maneira mais fácil de fazer isso seria fazer:

<VirtualHost IP:Port>
   # Stuff,
   # More Stuff,
   ErrorLog /path/where/you/want/the/error.log
</VirtualHost>

Se não houver um líder "/" presume-se ser relativo.

Erro Apache Log Página

Respondeu 01/08/2008 em 20:58
fonte usuário

votos
12

Eu normalmente apenas especificar isso em um .htaccessarquivo ou o vhost.confsobre o domínio que estou trabalhando. Adicione isto a um destes arquivos:

php_admin_value error_log "/var/www/vhosts/example.com/error_log"
Respondeu 02/08/2008 em 02:10
fonte usuário

votos
8

O comportamento padrão é para error_log () para a saída de log de erro do Apache. Se isso não está acontecendo verificar suas configurações do php.ini para a directiva error_log - deixá-lo desactivado para usar o arquivo de log Apache para o vhost atual.

Respondeu 01/08/2008 em 23:20
fonte usuário

votos
6

Não defina error_logpara onde seu syslogmaterial vai, eg /var/log/apache2porque eles erros vai ser interceptado por ErrorLog. Em vez disso, crie um subdirem sua pasta de projeto para registros e fazer php_value error_log "/path/to/project/logs". Isso vale para ambos os .htaccess arquivos e vhosts . Também certifique-se de colocar php_flag log_errorsem

Respondeu 02/04/2010 em 21:50
fonte usuário

votos
5
php_value error_log "/var/log/httpd/vhost_php_error_log"

Ele trabalha para mim, mas eu tenho que alterar a permissão do arquivo de log.

ou Apache irá escrever o log para os seus error_log.

Respondeu 03/07/2009 em 00:54
fonte usuário

votos
5

Sim, você pode tentar,

php_value error_log "/var/log/php_log" 

em .htaccessou você pode ter usuários usar ini_set()no início de seus scripts, se eles querem ter o log.

Outra opção seria ativar scripts como padrão para o php.inina pasta com o script, em seguida, ir para a pasta raiz do utilizador / anfitrião, em seguida, a raiz do servidor, ou algo similar. Isso permitiria hosts para adicionar seus próprios php.inivalores e seus próprios error_loglocais.

Respondeu 23/09/2008 em 00:29
fonte usuário

votos
5

Você já tentou adicionar o php_value error_log '/path/to/php_error_logà sua configuração VirtualHost?

Respondeu 29/08/2008 em 07:13
fonte usuário

votos
4

Meu Apache tinha algo assim em httpd.conf. Basta alterar as configurações do ErrorLog e CustomLog

<VirtualHost myvhost:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot /opt/web
    ServerName myvhost
    ErrorLog logs/myvhost-error_log
    CustomLog logs/myvhost-access_log common
</VirtualHost>
Respondeu 09/08/2008 em 03:51
fonte usuário

votos
3

Você poderia tentar:

    <VirtualHost myvhost:80>
       php_value error_log "/var/log/httpd/vhost_php_error_log"
    </Virtual Host>

Mas eu não tenho certeza se vai funcionar. Eu tentei em meus locais sem sucesso.

Respondeu 23/09/2008 em 00:22
fonte usuário

votos
0

Criar VirtualHost simples:

exemplo hostname: - thecontrolist.localhost

  1. C: \ Windows \ System32 \ drivers \ etc

    127.0.0.1 thecontrolist.localhost no arquivo hosts

  2. C: \ xampp \ apache \ conf \ extras \ httpd-vhosts.conf

    <VirtualHost *> ServerName thecontrolist.localhost ServerAlias thecontrolist.localhost DocumentRoot "/xampp/htdocs/thecontrolist" <Directory "/xampp/htdocs/thecontrolist"> Options +Indexes +Includes +FollowSymLinks +MultiViews AllowOverride All Require local </Directory> </VirtualHost>

  3. Não se esqueça de reiniciar o apache. Para mais conferir neste link

Respondeu 31/05/2018 em 06:58
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more