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