Eliminar mensajes de advertencia en PHP

Tengo un código PHP. Cuando lo ejecuto, aparece un mensaje de advertencia.

¿Cómo puedo eliminar / suprimir / ignorar estos mensajes de advertencia?

Realmente debería corregir lo que está causando la advertencia, pero puede controlar la visibilidad de los errores con error_reporting . Para omitir los mensajes de advertencia, puede usar algo como:

error_reporting(E_ERROR | E_PARSE); 

Puede poner un @ en frente de su llamada de función para suprimir todos los mensajes de error.

 @yourFunctionHere(); 

Para suprimir las advertencias al dejar habilitados todos los demás informes de errores:

 error_reporting(E_ALL ^ E_WARNING); 

Si no desea mostrar advertencias y errores, use

 // Turn off all error reporting error_reporting(0); 

Informe de errores – PHP Manual

No estoy respondiendo exactamente la pregunta, pero creo que este es un mejor compromiso en algunas situaciones:

Recibí un mensaje de advertencia como resultado de una statement 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 ser suprimidas, pero no pude demostrar mi trabajo a un cliente con el mensaje de advertencia apareciendo en la pantalla. Mi solución:

 printf('
'); ...Third-party stuff here... printf('
');

La advertencia todavía estaba en el origen de la página como un recordatorio para mí, pero invisible para el cliente.

Puede suprimir la advertencia utilizando error_reporting, pero la mejor manera es corregir su script en primer lugar.

Si no sabe cómo, edite su pregunta y muéstrenos la línea en cuestión y la advertencia que se muestra.

Creo que la mejor solución es la configuración de .htaccess. De esa forma no tienes que modificar el código de la 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 

en Core Php para ocultar el mensaje de advertencia establecido error_reporting (0) en la parte superior del archivo de inclusión común o archivo individual.

En WordPress ocultar advertencias y avisos agregar el siguiente código en el archivo wp-config.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); 

Si desea suprimir las advertencias y algunos otros tipos de error (por ejemplo, avisos) mientras visualiza todos los demás errores, puede hacer lo siguiente:

 error_reporting(E_ALL & ~E_WARNING & ~E_NOTICE); 

Lo hago así en mi php.ini:

error_reporting = E_ALL & ~ E_WARNING & ~ E_NOTICE & ~ E_STRICT & ~ E_DEPRECATED

Lo cual registra solo errores fatales y sin advertencias