2009-08-20 12 views
23

que sé de error_reporting(0); y ini_set('display_errors', false);, pero hay un aviso que aparece en wordpress:¿Cómo puedo dejar avisos PHP aparezcan en wordpress?

Notice: Array to string conversion in /var/www/vhosts/treethink.net/subdomains/parkridge/httpdocs/wp-includes/formatting.php on line 359

TI sólo aparece en wordpress, no en ninguna otra página del sitio.

yo nos registramos phpinfo(), y todo está preparado para que los errores no se muestran. ¿Por qué este todavía aparece?

Aquí es la línea que genera el error:

function wp_check_invalid_utf8($string, $strip = false) { 
    $string = (string) $string; 

me he cambio algo en wordpress, para cambiar cómo funcionaba la galería. Pero no esta función, y tampoco creo que haya cambiado ninguna llamada a esta función. Aparte de la notificación que aparece, todo parece funcionar perfectamente bien, sólo necesito para obtener este error para ocultar.

+0

¿Está seguro de que wp no cambia los valores de error_reporting y display_errors en algún lugar? – jmucchiello

+0

eso es lo que estaba pensando, pero el error no estaba allí antes de –

+0

oh, establecí los valores cuando estaba trabajando en el sitio, por lo que pude ver si había errores más fácilmente. –

Respuesta

52

necesita editar sus:

archivo
wp-config.php 

y modificar los siguientes aquí:

error_reporting(0); 
@ini_set('display_errors', 0); 

lo contrario Wordpress sobrescribe la alerta definida por PHP.INI

+1

Para que esto funcione, tuve que colocar estas líneas en la parte inferior de wp-config después de que el archivo de configuración llamara a wp-settings.php. – Colin

+0

Importante: con la versión actual de WordPress, esto NO funciona. WordPress sobrescribirá la opción error_reporting cuando habilita WP_DEBUG. Esta solución funciona hoy (septiembre de 2015) http://stackoverflow.com/a/27997023/313501 – Philipp

+0

Esta solución desactiva todos los errores y no solo los avisos. La solución de Eric Henry es mejor, permite mantener todos los errores, suprimiendo solo avisos y advertencias. – jstice4all

9

En wp-config. php añadir esta línea:

define('WP_DEBUG_DISPLAY', false); 

Eso será activar o desactivar la visualización de avisos y advertencias a la página. Hay una descripción más completa de esta opción, y algunas opciones relacionadas, aquí:

http://codex.wordpress.org/Debugging_in_WordPress

+0

esto funcionó para mí; sin embargo, necesitaba ponerlo en la parte superior de wp-config.php. Gracias (^ _ ^) * – adamS

1

si desea ocultar únicos errores que provienen de esta función se puede utilizar

@function wp_check_invalid_utf8($string, $strip = false) 
{ 

} 
7

Ene 2015 último Wordpress, ninguno de los anteriores funciona para mí.

Creación de un archivo en la carpeta php mu-plugins de Wordpress trabajaron, como:

<?php 
error_reporting(E_ALL & ~(E_NOTICE | E_USER_NOTICE | E_STRICT | 
E_DEPRECATED | E_USER_DEPRECATED | E_WARNING | E_CORE_WARNING | 
E_USER_WARNING | E_COMPILE_WARNING | E_PARSE)); 

Sólo un nombre cualquier cosa que desee ...

Tengo la respuesta desde aquí:

https://wycks.wordpress.com/2013/12/05/how-to-remove-error-notices-using-wordpresss-wp_debug/

+0

Esta es en realidad la mejor solución, ya que le permite usar WP_DEBUG y WP_DEBUG_DISPLAY, pero solo oculta los avisos de PHP. Las otras soluciones o no funcionan o desactivan completamente la salida de depuración – Philipp

+0

Cambio menor: para mí solo necesito esta línea: error_reporting (E_ALL & ~ (E_NOTICE)); – ssaltman

0
/** 
* For developers: WordPress debugging mode. 
* 
* Change this to true to enable the display of notices during development. 
* It is strongly recommended that plugin and theme developers use WP_DEBUG 
* in their development environments. 
*/ 
define('WP_DEBUG', false); 

// Enable Debug logging to the /wp-content/debug.log file 
define('WP_DEBUG_LOG', false); 

// Disable display of errors and warnings 
define('WP_DEBUG_DISPLAY', false); 
@ini_set('display_errors', 0); 

lo que yo uso y funciona con la última versión de WordPress.

1

La mayoría de las veces estos no son nada de qué preocuparse (aunque el desarrollador del complemento/tema debe conocerlos para poder solucionarlos en versiones futuras). Las advertencias y avisos de PHP no son nada de lo que preocuparse en un sitio de producción la mayor parte del tiempo. Algunos de estos incluso se pueden generar porque el desarrollador debe mantener la compatibilidad con las versiones anteriores de WordPress, así como con las versiones anteriores de PHP.

define('WP_DEBUG', false); 

con este

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 simplemente conjunto WP_DEBUG en false en su archivo wp-config.php que debe estar bien. Estos no afectan su sitio de ninguna manera.

Sin embargo, el problema es que algunas veces lo anterior no funciona. Eso puede ocurrir la mayoría de las veces en los hosts compartidos baratos que obligan a mostrar advertencias y avisos de PHP. En ese caso, puede reemplazar esta línea de su archivo wp-config.php:

Cuestiones relacionadas