2010-01-20 71 views
5

Estoy tratando de no registrar los errores de aviso, que se escriben en un archivo de registro de errores en mi servidor. He tratado (en la parte superior de mi index.php):Cómo detener PHP desde el registro PHP Aviso errores

ini_set('display_errors', 0); 
error_reporting(E_ALL^E_NOTICE); 

Pero sigo teniendo errores Aviso PHP en dicho archivo de registro de errores.

Estoy en un entorno de alojamiento compartido, por lo que no puedo editar mi archivo php.ini.

phpinfo() me dice:

- Version 5.2.12 
- error_reporting 6143 
- error_log error_log 
- safe_mode Off 
+3

Cómo sobre la fijación de las causas de los avisos en lugar de cerrar los ojos a eso? No ocurren sin ningún motivo. – Gumbo

Respuesta

0

puede cambiar el nivel de informe de errores a algo diferente

error_reporting (E_ERROR | E_WARNING | E_PARSE);

ver http://www.php.net/manual/en/function.error-reporting.php para más información

+0

Lo intenté, también, incluyéndote la variación, sigo registrándote. ¿Hay alguna forma en php.ini para hacer que ini_set() y error_reporting() NO funcionen? –

2

trate de hacer:

error_reporting(E_ALL & ~E_NOTICE); 

La directiva error_reporting() hará siempre funciona (PHP_INI_ALL).

¿Está seguro de que no está incluyendo ninguna biblioteca que cambie su nivel de informe de errores?


hacer error_reporting(0); y luego hacer esto:

var_dump(error_reporting()); 

Cuál es la salida?

+0

He buscado todo el proyecto para "error_reporting" y solo muestra un hit en el archivo index.php, y ese es el error_reporting que agregué. No hay apariciones de "set_error_handler", tampoco. –

+0

@magenta: ¿No 'ini_set() 'tampoco? –

+1

salidas var_dump int (6135), que es E_ALL y ~ E_NOTICE –

8

Si está en un servidor Apache, intente configurar el valor en un archivo .htaccess. El formato general es:

php_flag log_errors on 
php_value error_log /path/to/error.log 
php_value error_reporting integer 

donde integer es el valor que se obtiene de ejecutar algo como:

echo E_ALL & ~E_NOTICE; // prints 30711 

Más información aquí:

http://perishablepress.com/press/2008/01/14/advanced-php-error-handling-via-htaccess/

+0

Esto tampoco parece funcionar. –

+0

¡Ten cuidado! el código (como 30711) puede diferir en las diferentes versiones de PHP. Lo mejor es verificar el eco en el servidor en sí, donde aplicará la configuración – spiritoo

1

¿Usted está consiguiendo Aviso de o " USUARIO "¿El aviso está en su registro?

Para inhabilitar el uso:

error_reporting(E_ALL & ~E_NOTICE & ~E_USER_NOTICE); 
+0

Muestra en el registro como "Aviso PHP" –

+0

Creo que ambos están registrados como "Aviso PHP". Puede buscar phpcode para "trigger_error" o E_USER_NOTICE. –

Cuestiones relacionadas