web-dev-qa-db-fra.com

Désactiver les erreurs obsolètes php 5.3

Mon serveur fonctionne sous PHP 5.3 et mon installation wordpress crache ces erreurs sur moi, ce qui provoque la rupture de mon session_start () 

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

C'est agaçant, mais je ne veux pas désactiver les rapports d'erreur à l'écran. Comment désactiver ces avertissements désagréables et ennuyeux?

Je cours Wordpress 2.9.2.

116
atwellpub

Vous pouvez le faire dans le code en appelant les fonctions suivantes.

error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

ou

error_reporting(E_ALL ^ E_DEPRECATED);
190
Robus

Je devais adapter cela à

error_reporting = E_ALL & ~E_DEPRECATED
22
Simon H

Pour obtenir uniquement les erreurs, celles-ci font en sorte que l'application cesse de fonctionner:

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

Cela arrêtera l'affichage des erreurs de notification, d'avertissement et obsolètes.

19
codefreak

Toutes les réponses ci-dessus sont correctes. Puisque personne n’a laissé savoir comment désactiver toutes les erreurs en php, je voudrais le mentionner ici:

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

Quelqu'un pourrait le trouver utile ......

13
sudip

Je viens de faire face à un problème similaire: un plug-in SEO émettait un grand nombre d'avertissements faisant en sorte que l'utilisation du disque de mon blog dépasse la limite du plan.

J'ai découvert que vous devez inclure la commande error_reporting after le wp-settings.php nécessite dans le fichier wp-config.php:

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

en faisant cela, plus aucun avertissement, aucune notification, ni aucune ligne obsolète n'est ajouté à votre fichier journal des erreurs!

Testé sur WordPress 3.8 mais je suppose que cela fonctionne pour chaque installation. 

10
Camaleo

Dans le fichier wp-config.php vous pouvez trouver la constante WP_DEBUG, assurez-vous qu'elle est définie sur false.

define('WP_DEBUG', false);

C'est pour wordpress 3.x

8
Audrius

Vous devez éditer le fichier de configuration php. Fin la ligne

error_reporting = E_ALL

et remplacez par error_reporting = E_ALL ^ E_DEPRECATED

Si vous n'avez pas accès au fichier de configuration, vous pouvez ajouter cette ligne au fichier php wordpress (peut-être headers.php)

error_reporting(E_ALL ^ E_DEPRECATED); 
6
Kreker

J'ai tendance à utiliser cette méthode 

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

De cette façon, je ne ferme pas accidentellement quelque chose dont j'ai besoin

1
realtebo

Il suffit de remplacer le code ci-dessous dans le fichier wp-config.php 

define ('WP_DEBUG', true); définir ('WP_DEBUG', true);

0
Mehul Soni