logs log errores error enable activar php logging centos suphp

php - log - ¿Dónde puedo encontrar los archivos de registro de errores?



php ini error log (6)

¿Qué sistema operativo está utilizando y qué servidor web? En Linux y Apache puede encontrar el error_log de apache en / var / log / apache2 /

¿Dónde puedo encontrar los archivos de registro de errores? Necesito verificarlos para resolver un error interno del servidor que se muestra después de instalar suPHP.


En CentoS con cPanel instalado mis registros estaban en:

/usr/local/apache/logs/error_log

Para ver: tail -f /usr/local/apache/logs/error_log


Esta es una respuesta preferible en la mayoría de los casos de uso, ya que le permite desacoplar la ejecución del software del conocimiento directo de la plataforma del servidor, lo que hace que su código sea mucho más portátil. Si está haciendo una gran cantidad de cron / cgi, esto puede no ayudar directamente, pero puede configurarse en una configuración en tiempo de ejecución web de la que se extraigan los scripts de cron / cgi para mantener la ubicación del registro consistente en ese caso.

Puede obtener el archivo de registro actual asignado de forma nativa a php en cualquier plataforma en tiempo de ejecución mediante:

ini_get(''error_log'');

Esto devuelve el valor distribuido directamente al binario de php por el servidor web, que es lo que desea en el 90% de los casos de uso (con la excepción evidente cgi). A menudo, Cgi iniciará sesión en esta misma ubicación que el cliente de servidor web http, pero no siempre.

También querrá verificar que se pueda escribir antes de cometerle algo para evitar errores. El archivo conf que define su ubicación (normalmente apache.conf globalmente o vhosts.conf por dominio), pero conf no garantiza que los permisos de archivo permitan el acceso de escritura en el tiempo de ejecución.


Estoy usando Cent OS 6.6 con Apache y para mí los archivos de registro de errores están en

/ usr / local / apache / log


Funciona para mi. ¿Cómo registrar todos los errores de php en un registro de archivos?

Simplemente agregue la siguiente línea a /etc/php.ini para registrar errores en el archivo especificado - /var/log/php-scripts.log

vi /etc/php.ini

Modificar la directiva error_log

error_log = /var/log/php-scripts.log

Asegúrese de que display_errors esté desactivado (sin errores para los usuarios finales)

display_errors = Off

Guarde y cierre el archivo. Reiniciar el servidor web:

/etc/init.d/httpd restart

¿Cómo registro los errores en syslog o en el registro de eventos de Windows Server?

Modificar error_log de la siguiente manera:

error_log = syslog

¿Cómo ver los registros?

Login using ssh or download a log file /var/log/php-scripts.log using sftp: $ sudo tail -f /var/log/php-scripts.log


Puede usar "lsof" para encontrar archivos de registro abiertos en su sistema. lsof solo te da una lista de todos los archivos abiertos.

Use grep para "log" ... use grep nuevamente para "php" ( si el nombre del archivo contiene las cadenas "log" y "php" como en "php_error_log" y usted es usuario root, encontrará los archivos sin saber la configuración ) .

root@lnx-work:~# lsof |grep log ... snip gmain 12148 12274 user 13r REG 252,1 32768 661814 /home/user/.local/share/gvfs-metadata/home-11ab0393.log gmain 12148 12274 user 21r REG 252,1 32768 662622 /home/user/.local/share/gvfs-metadata/root-56222fe2.log gvfs-udis 12246 user mem REG 252,1 55384 790567 /lib/x86_64-linux-gnu/libsystemd-login.so.0.7.1 ==> apache 12333 user mem REG 252,1 55384 790367 /var/log/http/php_error_log** ... snip

root@lnx-work:~# lsof |grep log |grep php **apache 12333 user mem REG 252,1 55384 790367 /var/log/http/php_error_log** ... snip

También vea este artículo sobre cómo encontrar archivos de registro abiertos: encuentre archivos de registro abiertos en un sistema Linux