Eliminar mensajes de advertencia en PHP
Tengo algo de código PHP. Cuando lo corro, aparece un mensaje de advertencia.
¿Cómo puedo eliminar/suprimir/ignorar estos mensajes de advertencia?
10 answers
Realmente debería corregir lo que está causando la advertencia, pero puede controlar la visibilidad de los errores con error_reporting. Para omitir mensajes de advertencia, puede usar algo como:
error_reporting(E_ERROR | E_PARSE);
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-05-26 18:32:21
Usted puede poner un @ delante de su llamada de función para suprimir todos los mensajes de error.
@yourFunctionHere();
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-08-25 19:58:38
Para suprimir las advertencias dejando habilitados todos los demás informes de errores:
error_reporting(E_ALL ^ E_WARNING);
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-08-25 19:53:18
Si no desea mostrar advertencias y errores, use
// Turn off all error reporting
error_reporting(0);
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 16:37:11
No responde exactamente a la pregunta, pero creo que este es un mejor compromiso en algunas situaciones:
Recibí un mensaje de advertencia como resultado de una instrucción printf() en una biblioteca de terceros. Sabía exactamente cuál era la causa, un trabajo temporal mientras el tercero arreglaba su código. Estoy de acuerdo en que las advertencias no deben suprimirse, pero no pude demostrar mi trabajo a un cliente con el mensaje de advertencia apareciendo en la pantalla. Mi solución:
printf('<div style="display:none">');
...Third-party stuff here...
printf('</div>');
La advertencia todavía estaba en fuente de página como un recordatorio para mí, pero invisible para el cliente.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-17 18:46:34
Puede suprimir la advertencia utilizando error_reporting pero la mejor manera es arreglar tu script en primer lugar.
Si no sabes cómo, edita tu pregunta y muéstranos la línea en cuestión y la advertencia que se muestra.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-07-25 03:13:05
En el núcleo de Php para ocultar el mensaje de advertencia establecer error_reporting(0) en la parte superior del archivo de inclusión común o archivo individual.
En Wordpress ocultar Advertencias y Avisos añadir el siguiente código en wp-config.archivo php
ini_set('log_errors','On');
ini_set('display_errors','Off');
ini_set('error_reporting', E_ALL );
define('WP_DEBUG', false);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-12 05:04:20
Creo que la mejor solución es la configuración de .htaccess De esa manera no tienes que alterar el código de aplicación. Aquí hay directivas para Apache2
php_flag display_startup_errors off
php_flag display_errors off
php_flag html_errors off
php_value docref_root 0
php_value docref_ext 0
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-05-10 16:34:06
Si desea suprimir las advertencias y algunos otros tipos de error (por ejemplo, avisos) mientras muestra todos los demás errores, puede hacer:
error_reporting(E_ALL & ~E_WARNING & ~E_NOTICE);
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-01-10 17:13:50
Lo hago de la siguiente manera en mi php.ini :
error_reporting = E_ALL & ~E_WARNING & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
Esto registra solo errores fatales y no hay advertencias.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-18 02:58:52