¿Cómo activo todos los errores y advertencias y los registro en un archivo, pero para configurar todo eso dentro del script (sin cambiar nada en php.ini)?
Quiero definir un nombre de archivo y para que todos los errores y advertencias se registren en él.
php
error-handling
Gorep
fuente
fuente
ini_set
solo funciona si ese código se ejecuta. No es útil para el código que tiene errores de análisis porque el error será antes de que se ejecute el código. En cambio, escriba esos cambios en php.ini.php_flag log_errors on php_value error_log /home/path/public_html/domain/PHP_errors.log
. Ver perishablepress.com/…tmp/php-error.log
la ubicación que desees.Ver
error_log
- Enviar un mensaje de error a alguna parteEjemplo
Puede personalizar el manejo de errores con sus propios manejadores de errores para llamar a esta función por usted cada vez que ocurra un error o advertencia o lo que necesite para iniciar sesión. Para obtener información adicional, consulte el Capítulo Manejo de errores en el Manual de PHP
fuente
Simplemente ponga estos códigos en la parte superior de su archivo PHP / índice:
fuente
display_errors
NUNCA debe activarse en un servidor de producción en vivo: esa directiva es específicamente para la salida al usuario y no tiene ningún efecto en el registro. php.net/manual/en/…agregue este código en .htaccess (como alternativa a la función php.ini / ini_set ):
* como se comentó: esto es para servidores de tipo Apache , y no para Nginx u otros.
fuente
Esa es mi corta función personal
fuente
Eche un vistazo a la
log_errors
opción de configuración en php.ini. Parece hacer justo lo que quieres. Creo que también puede usar laerror_log
opción para configurar su propio archivo de registro.Cuando la
log_errors
directiva se establece enOn
, cualquier error informado por PHP se registrará en el registro del servidor o en el archivo especificado conerror_log
. También puede configurar estas opcionesini_set
si es necesario.(Tenga en cuenta que
display_errors
debe deshabilitarse en php.ini si esta opción está habilitada)fuente
display_errors
deshabilitarse si habilitalog_errors
? No tiene sentido en mi opinión. :)Además, necesita la directiva "AllowOverride Options" para que esto funcione. (Apache 2.2.15)
fuente