todos off mensaje mandar los errors errores error display_errors all php error-handling constants

off - ¿Cómo desactivo las notificaciones de PHP?



php reporting all (14)

Como lo mencionaron algunos y si usted es el autor del código, debe corregir todos esos errores, avisos, etc. porque causará más problemas a largo plazo que no los solucione (especialmente cuando actualice su sistema operativo). Para su servidor, debe mostrar los errores solo en sus registros, no en la pantalla del cliente.

Para evitar los errores en su navegador, use el indicador display_errors como ya encontró:

display_errors = Off

Ahora el verdadero problema es cuando estás ejecutando el código de otra persona. En ese caso, es probable que se sobrescriba la modificación del código cada vez que actualice ese código. Hace tedioso mantener ese código.

En mi caso, wp-cron.php PHP con crontab para wp-cron.php script wp-cron.php vez en cuando. Me enviaban errores a mis correos electrónicos, lo que se vuelve tedioso cuando recibes un correo electrónico cada 10 minutos. En ese caso, sin embargo, el sistema Wordpress tiene un archivo de configuración que incluye un WP_DEBUG y llaman a la función error_reporting() por lo que intentar cambiar la variable error_reporting en la línea de comando no funcionará. En su lugar, debe editar el archivo wp-config.php en la carpeta raíz y asegurarse de que WP_DEBUG esté configurado en false . De lo contrario, recibirá todas esas advertencias y avisos todo el tiempo.

Notice: Constant DIR_FS_CATALOG already defined

Ya he comentado display_errors en php.ini , pero no está funcionando.

¿Cómo hago para que PHP no muestre tales cosas a los navegadores?

ACTUALIZAR

Puse display_errors = Off , pero sigue informando tales notificaciones,

¿Es esto un problema con PHP 5.3?

Reportando numerosos Call Stack también ...


Creo que comentar los display_errors en php.ini no funcionará porque el valor predeterminado es On. Debe establecerlo en ''Off'' en su lugar.

No olvide reiniciar Apache para aplicar cambios de configuración.

También tenga en cuenta que si bien puede configurar display_errors en tiempo de ejecución, cambiarlo aquí no afecta los errores FATAL.

Como señalaron otros, lo ideal es que durante el desarrollo se ejecute con error_reporting en el nivel más alto posible y display_errors habilitado. Si bien es molesto cuando comienzas por primera vez, estos errores, advertencias, avisos y consejos estrictos de codificación se suman y te permiten obtener un mejor codificador.


De la documentación de PHP ( error_reporting ):

<?php // Turn off all error reporting error_reporting(0); ?>

Otras opciones interesantes para esa función:

<?php // Report simple running errors error_reporting(E_ERROR | E_WARNING | E_PARSE); // Reporting E_NOTICE can be good too (to report uninitialized // variables or catch variable name misspellings ...) error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE); // Report all errors except E_NOTICE // This is the default value set in php.ini error_reporting(E_ALL & ~E_NOTICE); // For PHP < 5.3 use: E_ALL ^ E_NOTICE // Report all PHP errors (see changelog) error_reporting(E_ALL); // Report all PHP errors error_reporting(-1); // Same as error_reporting(E_ALL); ini_set(''error_reporting'', E_ALL); ?>


Encontré este truco recientemente. Whack an @ al comienzo de una línea que puede producir una advertencia / error.

Como por arte de magia, desaparecen.


Estás buscando:

php -d error_reporting="E_ERROR | E_WARNING | E_PARSE"


Para el código PHP:

<?php error_reporting(E_ALL & ~E_NOTICE);

Para la configuración php.ini :

error_reporting = E_ALL & ~E_NOTICE


Para la línea de comando php, establecer

error_reporting = E_ALL & ~E_NOTICE

en /etc/php5/cli/php.ini

command php execution luego omite los avisos.


Puede establecer display_errors en 0 o usar la función error_reporting() .

Sin embargo, los avisos son molestos (en parte puedo simpatizar ) pero cumplen un propósito. ¡No deberías definir una constante dos veces, la segunda vez no funcionará y la constante no cambiará!


Puede establecer ini_set(''display_errors'',0); en su secuencia de comandos o definir qué errores desea mostrar con error_reporting() .


Puedes verificar si la constante ya está definida usando:

<?php if (!defined(''MYCONST'')) define(''MYCONST'', ''Weeha!''); ?>


Use phpinfo () y busque la Configuration File (php.ini) Path para ver qué ruta de archivo de configuración para php se usa. PHP puede tener múltiples archivos de configuración dependiendo del entorno que esté ejecutando. Por lo general, para la consola es:

/etc/php5/cli/php.ini

y para PHP ejecutado por apache es:

/etc/php5/apache2/php.ini

Y luego configure error_reporting la manera que lo necesita:

http://www.phpknowhow.com/configuration/php-ini-error-settings/ http://www.zootemplate.com/news-updates/how-to-disable-notice-and-warning-in-phpini-file


Utiliza esta línea en tu código

error_reporting(E_ALL ^ E_NOTICE);

Creo que está lleno de ti.


al no causar los errores:

defined(''DIR_FS_CATALOG'') || define(''DIR_FS_CATALOG'', ''whatever'');

Si realmente tiene que hacerlo, cambie el informe de errores usando error_reporting () a E_ALL ^ ​​E_NOTICE.


<?php // Turn off all error reporting error_reporting(0); // Report simple running errors error_reporting(E_ERROR | E_WARNING | E_PARSE); // Reporting E_NOTICE can be good too (to report uninitialized // variables or catch variable name misspellings ...) error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE); // Report all errors except E_NOTICE error_reporting(E_ALL & ~E_NOTICE); // Report all PHP errors (see changelog) error_reporting(E_ALL); // Report all PHP errors error_reporting(-1); // Same as error_reporting(E_ALL); ini_set(''error_reporting'', E_ALL); ?>

fuente http://php.net/manual/en/function.error-reporting.php