El método PHP error_log no escribe errores en el archivo de registro de errores personalizado. Sólo se escribirá a /var/log/apache2/php_error.logEl método PHP error_log no escribe errores en mi archivo de registro de errores
Aquí están las opciones de registro en mi php.ini
:
error_reporting = E_ALL & ~E_DEPRECATED & ~E_NOTICE
display_errors = Off
log_errors = On
log_errors_max_len = 0 ; also tried with 9999999
error_log = /var/log/apache2/php_errors.log
PHP escribe sus errores en el registro de errores de Apache regulares (/var/log/apache2/error.log
) en lugar de el que especifiqué arriba.
cosas que ya trataron:
- que detener y reiniciar Apache después de cambiar el archivo php.ini
- El archivo es
/var/log/apache2/php_errors.log
permisos 777 y el archivo existe. - No hay otros archivos php.ini que reemplacen. (Hay /etc/php5/cli/php.ini pero no estoy usando cli).
- no hay otras error_log = xxx configuración más abajo en el archivo php.ini que podría invalidar la primera
- phpinfo() dice error_log = /var/log/apache2/php_errors.log (es decir, el archivo correcto), ambos bajo valor local y Master Valor
- La escritura de la prueba que estoy usando para generar errores no contiene ninguna ini_set llama
(FYI: estoy usando Apache/2.2.17 y PHP/5.3. 5-1ubuntu7.2 en Ubuntu 11.04)
¿Qué estoy haciendo mal?
has de cambiar el nombre de archivo a algún otro sitio? ¿O probar alguna otra carpeta? – Olli
Comprueba qué archivo php.ini está cargado (mira el resultado de la función phpinfo()) – classic
Gracias Olli, lo cambié a /usr/php_errors.log y ahora funciona. –