2010-05-10 11 views
108

Mi servidor ejecuta php 5.3 y My wordpress install me está escupiendo estos errores, provocando que mi session_start() se rompa.Desactivar los errores obsoletos php 5.3

Deprecated: Assigning the return value of new by reference is deprecated in /home//public_html/hub/wp-settings.php on line 647 

Deprecated: Assigning the return value of new by reference is deprecated in /home//public_html/hub/wp-settings.php on line 662 

Deprecated: Assigning the return value of new by reference is deprecated in /home//public_html/hub/wp-settings.php on line 669 

Deprecated: Assigning the return value of new by reference is deprecated in /home//public_html/hub/wp-settings.php on line 676 

Deprecated: Assigning the return value of new by reference is deprecated in /home//public_html/hub/wp-settings.php on line 712 

Esto es molesto, pero no quiero apagar el reporte de errores de pantalla. ¿Cómo desactivo estas molestas advertencias obsoletas?

Estoy ejecutando Wordpress 2.9.2.

+0

¿No es 3.3.1 la versión actualizada de wordpress? – Shadur

+0

parece que le gusta un viejo php con el viejo wordpress – Qchmqs

Respuesta

168

Puede hacerlo en código llamando a las siguientes funciones.

error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE); 

o

error_reporting(E_ALL^E_DEPRECATED); 
+0

Gracias Robus, ¿Esto matará cualquier informe de error de php también? – atwellpub

+6

No, el primero básicamente le dice a php que muestre errores de ERROR/ADVERTENCIA/PARÁ/AVISO, el segundo le dice a php que muestre todos los errores menos los DEPRECADOS. – Robus

+2

No funciona –

6

tiene que editar el archivo de configuración de PHP. Aleta de la línea

error_reporting = E_ALL 

y reemplazar con error_reporting = E_ALL^E_DEPRECATED

Si no tiene acceso al archivo de configuración puede añadir esta línea al archivo php wordpress (tal vez headers.php)

error_reporting(E_ALL^E_DEPRECATED); 
+0

Es mucho mejor agregar esto a 'wp-config.php'. Está destinado a ser editado con configuraciones – Nilpo

22

que necesitaba para adaptar este a

error_reporting = E_ALL & ~E_DEPRECATED 
14

Todas las respuestas anteriores son correctas. Puesto que nadie ha dado a entender la manera de apagar todos los errores en php, me gustaría mencionar aquí:

error_reporting(0); // Turn off warning, deprecated, 
        // notice everything except error 

Alguien podría considerar útil ......

17

Para obtener sólo los errores de los causar la aplicación para detener el uso de trabajo:

error_reporting(E_ALL^(E_NOTICE | E_WARNING | E_DEPRECATED)); 

Esto detendrá mostrando aviso, advertencia y errores en desuso.

7

En el archivo wp-config.php puede encontrar WP_DEBUG constante, asegúrese de que esté configurado en falso.

define('WP_DEBUG', false); 

Esto es para 3.x wordpress

+0

gracias. Este fue el paso extra Necesito. –

9

yo sólo tenía un problema similar donde un plugin SEO emitió un gran número de advertencias que hacen uso mi disco blog de exceder el límite del plan.

descubrí que se necesidad incluya el comando error_reporting después el wp-settings.php requerir en el archivo wp-config.php:

require_once(ABSPATH .'wp-settings.php'); 
    error_reporting(E_ALL^(E_NOTICE | E_WARNING | E_DEPRECATED)); 

al hacer esto sin más advertencias, avisos ¡ni las líneas obsoletas se añaden a su archivo de registro de errores!

Probado en WordPress 3.8 pero supongo que funciona para cada instalación.

+0

Bien, esto resuelve el problema – Alex

1

que tienden a utilizar este método

$errorlevel=error_reporting(); 
$errorlevel=error_reporting($errorlevel & ~E_DEPRECATED); 

De esta manera no apago accidentalmente algo que necesito

+1

Eso le da menos control. Está asumiendo que todo lo que está configurado actualmente es correcto. Mejor configurarlo directamente según sea necesario para que no se solapen las configuraciones. – Nilpo

+0

Entienda. el caso es diferente. – realtebo

0

se produzca este error cuando cambia su versión de PHP: es muy simple para suprimir este error mensaje

para suprimir el mensaje de error DEPRECATED, sólo tiene que añadir a continuación código en su archivo index.php:

init_set ('display_errors', False);

Cuestiones relacionadas