php - texto - string strip_tags
PHP 5 deshabilita los estrictos estándares de error (7)
¿Desea deshabilitar el informe de errores o simplemente evita que el usuario lo vea? Por lo general, es una buena idea registrar errores, incluso en un sitio de producción.
# in your PHP code:
ini_set(''display_errors'', ''0''); # don''t show any errors...
error_reporting(E_ALL | E_STRICT); # ...but do log them
Se registrarán en su registro de sistema estándar o utilizarán la directiva error_log
para especificar exactamente dónde desea que vayan los errores.
Necesito configurar mi script PHP en la parte superior para deshabilitar el informe de errores para estándares estrictos.
¿Alguien puede ayudar?
El valor predeterminado de la bandera error_reporting es E_ALL & ~ E_NOTICE si no está establecido en php.ini. Pero en algunas instalaciones (en particular instalaciones que se dirigen a entornos de desarrollo) tiene E_ALL | E_STRICT establece como valor de este indicador (este es el valor recomendado durante el desarrollo ). En algunos casos, especialmente cuando desee ejecutar algunos proyectos de código abierto, desarrollados antes de la era de PHP 5.3 y aún no actualizados con las mejores prácticas definidas por PHP 5.3, en su entorno de desarrollo, probablemente se encontrará con algunos mensajes como usted. La mejor manera de sobrellevar esta situación es establecer solo E_ALL como el valor del indicador error_reporting , ya sea en php.ini o en código (probablemente en un controlador frontal como index.php en raíz web de la siguiente manera:
if(defined(''E_STRICT'')){
error_reporting(E_ALL);
}
En el conjunto php.ini:
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT
No vi una respuesta limpia y adecuada para el software listo para producción, así que aquí va:
/*
* Get current error_reporting value,
* so that we don''t lose preferences set in php.ini and .htaccess
* and accidently reenable message types disabled in those.
*
* If you want to disable e.g. E_STRICT on a global level,
* use php.ini (or .htaccess for folder-level)
*/
$old_error_reporting = error_reporting();
/*
* Disable E_STRICT on top of current error_reporting.
*
* Note: do NOT use ^ for disabling error message types,
* as ^ will re-ENABLE the message type if it happens to be disabled already!
*/
error_reporting($old_error_reporting & ~E_STRICT);
// code that should not emit E_STRICT messages goes here
/*
* Optional, depending on if/what code comes after.
* Restore old settings.
*/
error_reporting($old_error_reporting);
Para ningún error
error_reporting(0);
o simplemente no es estricto
error_reporting(E_ALL ^ E_STRICT);
y si alguna vez desea volver a mostrar todos los errores, use
error_reporting(-1);
Todas las soluciones anteriores son correctas. Pero, cuando hablamos de una aplicación PHP normal, tienen que incluirse en cada página, que requiere. Una forma de resolver esto es a través de .htaccess
en la carpeta raíz. Solo para ocultar los errores. [Coloque una de las siguientes líneas en el archivo]
php_flag display_errors off
O
php_value display_errors 0
A continuación, para configurar el informe de errores
php_value error_reporting 30719
Si se pregunta cómo llegó el valor 30719
, E_ALL (32767), E_STRICT (2048) son en realidad constantes que tienen un valor numérico y ( 32767 - 2048 = 30719
)
WordPress
Si trabajas en el entorno de wordpress, Wordpress establece el nivel de error en el archivo wp-includes / load.php en la función wp_debug_mode()
. Así que debes cambiar el nivel DESPUÉS de que se haya llamado a esta función (en un archivo no registrado en git para que sea solo desarrollo), o bien modificar directamente la llamada a error_reporting()