Aquí podría ser tu PUBLICIDAD


error_log por Virtual Host?

votos
97

En un servidor Linux que ejecuta Apache y PHP 5, tenemos múltiples hosts virtuales con archivos de registro separados. Parece que no podemos separar el php error_logentre los hosts virtuales.

Anular esta configuración en el <Location>de httpd.confno parece hacer nada.

¿Hay alguna manera de tener PHP separado error_logspara cada host virtual?

Publicado el 01/08/2008 a las 19:37
fuente por usuario Michael Stum
En otros idiomas...        العربية       

11 respuestas

votos
133

Si alguien viene buscando debe tener este aspecto:

<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>

Esto es para el desarrollo sólo ya display_errorestá activada. Usted notará que el registro de errores de Apache está separado del registro de errores de PHP. Lo bueno es en php.error.log.

Echar un vistazo aquí para obtener la error_reportingclave http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reporting

Respondida el 26/08/2010 a las 04:29
fuente por usuario Clutch


Aquí podría ser tu PUBLICIDAD


votos
72

Para configurar el registro de Apache ( no PHP ), la forma más fácil de hacer esto sería hacer:

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

Si no hay una "/" inicial, se supone que es relativa.

Página de registro de errores de Apache

Respondida el 01/08/2008 a las 08:58
fuente por usuario helloandre

votos
12

Por lo general basta con especificar esto en un .htaccessarchivo o la vhost.confen el dominio que estoy trabajando. Agregue esto a uno de estos archivos:

php_admin_value error_log "/var/www/vhosts/example.com/error_log"
Respondida el 02/08/2008 a las 02:10
fuente por usuario Kevin

votos
8

El comportamiento predeterminado es que error_log () se envíe al registro de errores de Apache. Si esto no está sucediendo, verifique su configuración de php.ini para la directiva error_log - déjelo sin configurar para usar el archivo de registro de Apache para el vhost actual.

Respondida el 01/08/2008 a las 11:20
fuente por usuario Mat

votos
6

No ajuste error_loga donde su syslogmaterial va, eg /var/log/apache2porque los errores se consiguen interceptado por ErrorLog. En su lugar, crear una subdiren su carpeta de proyecto para los registros y hacer php_value error_log "/path/to/project/logs". Esto va para ambos .htaccess archivos y con dominios virtuales . También asegúrese de poner php_flag log_errorsen

Respondida el 02/04/2010 a las 09:50
fuente por usuario rkulla

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

Funciona para mí, pero tengo que cambiar el permiso del archivo de registro.

o Apache escribirá el registro en su error_log.

Respondida el 03/07/2009 a las 12:54
fuente por usuario sangjin

votos
5

Sí, puedes intentar,

php_value error_log "/var/log/php_log" 

en .htaccesso puede hacer que los usuarios lo usen ini_set()al principio de sus scripts si desean tener un registro.

Otra opción sería habilitar las secuencias de comandos de forma predeterminada php.inien la carpeta con la secuencia de comandos, luego vaya a la carpeta raíz del usuario / host, luego a la raíz del servidor, o algo similar. Esto permitiría a los hosts agregar sus propios php.inivalores y sus propias error_logubicaciones.

Respondida el 23/09/2008 a las 12:29
fuente por usuario James Hartig

votos
5

¿Has intentado agregar el php_value error_log '/path/to/php_error_loga tu configuración de VirtualHost?

Respondida el 29/08/2008 a las 07:13
fuente por usuario hoyhoy

votos
4

Mi Apache tenía algo así en httpd.conf. Simplemente cambie la configuración de ErrorLog y 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>
Respondida el 09/08/2008 a las 03:51
fuente por usuario ejunker

votos
3

Tu podrías intentar:

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

Pero no estoy seguro de si va a funcionar. Probé en mis sitios sin éxito.

Respondida el 23/09/2008 a las 12:22
fuente por usuario hdanniel

votos
0

Crear VirtualHost simple:

nombre de host ejemplo: - thecontrolist.localhost

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

    127.0.0.1 thecontrolist.localhost en el archivo de hosts

  2. C: \ xampp \ apache \ conf \ adicional \ 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. No se olvide de reiniciar el Apache. para más comprobar este enlace

Respondida el 31/05/2018 a las 03:58
fuente por usuario Mohit Sharma


Aquí podría ser tu PUBLICIDAD