web-dev-qa-db-fra.com

Erreurs Wordpress avec PhP Upgrade

J'ai proposé d'accueillir le site Web du profil d'acteur de mon cousin sur mon compte d'hébergement Web. Il a demandé à quelqu'un de créer un site wordpress et de le stocker sur mon compte. Cela fonctionnait bien sur PhP 5.2, mais mon fournisseur d’accueil l’a supprimé. Maintenant que je suis obligé d'utiliser PhP 5.3 ou PhP 5.4, je reçois un certain nombre d'erreurs.

Si quelqu'un sait si/comment cela peut être corrigé, pouvez-vous me le faire savoir? Il dépend de ce site pour trouver du travail et je suis frustré de ne pouvoir trouver la réponse et de la réparer moi-même.

En utilisant PhP 5.4, les erreurs suivantes apparaissent au-dessus du contenu de la page:

Strict Standards: Declaration of Walker_Page::start_lvl() should be compatible with Walker::start_lvl(&$output) in /home/naumovski/tonynaumovskirotino.com/wp-includes/classes.php on line 576

Strict Standards: Declaration of Walker_Page::end_lvl() should be compatible with Walker::end_lvl(&$output) in /home/naumovski/tonynaumovskirotino.com/wp-includes/classes.php on line 576

Strict Standards: Declaration of Walker_Page::start_el() should be compatible with Walker::start_el(&$output) in /home/naumovski/tonynaumovskirotino.com/wp-includes/classes.php on line 576

Strict Standards: Declaration of Walker_Page::end_el() should be compatible with Walker::end_el(&$output) in /home/naumovski/tonynaumovskirotino.com/wp-includes/classes.php on line 576

Strict Standards: Declaration of Walker_PageDropdown::start_el() should be compatible with Walker::start_el(&$output) in /home/naumovski/tonynaumovskirotino.com/wp-includes/classes.php on line 593

Strict Standards: Declaration of Walker_Category::start_lvl() should be compatible with Walker::start_lvl(&$output) in /home/naumovski/tonynaumovskirotino.com/wp-includes/classes.php on line 687

Strict Standards: Declaration of Walker_Category::end_lvl() should be compatible with Walker::end_lvl(&$output) in /home/naumovski/tonynaumovskirotino.com/wp-includes/classes.php on line 687

Strict Standards: Declaration of Walker_Category::start_el() should be compatible with Walker::start_el(&$output) in /home/naumovski/tonynaumovskirotino.com/wp-includes/classes.php on line 687

Strict Standards: Declaration of Walker_Category::end_el() should be compatible with Walker::end_el(&$output) in /home/naumovski/tonynaumovskirotino.com/wp-includes/classes.php on line 687

Strict Standards: Declaration of Walker_CategoryDropdown::start_el() should be compatible with Walker::start_el(&$output) in /home/naumovski/tonynaumovskirotino.com/wp-includes/classes.php on line 710

Strict Standards: Redefining already defined constructor for class wpdb in /home/naumovski/tonynaumovskirotino.com/wp-includes/wp-db.php on line 58

Deprecated: Assigning the return value of new by reference is deprecated in /home/naumovski/tonynaumovskirotino.com/wp-includes/cache.php on line 99

Strict Standards: Redefining already defined constructor for class WP_Object_Cache in /home/naumovski/tonynaumovskirotino.com/wp-includes/cache.php on line 404

Deprecated: Assigning the return value of new by reference is deprecated in /home/naumovski/tonynaumovskirotino.com/wp-includes/query.php on line 21

Deprecated: Assigning the return value of new by reference is deprecated in /home/naumovski/tonynaumovskirotino.com/wp-includes/theme.php on line 576

sur PhP 5.3, je reçois les erreurs suivantes:

Deprecated: Assigning the return value of new by reference is deprecated in /home/naumovski/tonynaumovskirotino.com/wp-includes/cache.php on line 99

Deprecated: Assigning the return value of new by reference is deprecated in /home/naumovski/tonynaumovskirotino.com/wp-includes/query.php on line 21

Deprecated: Assigning the return value of new by reference is deprecated in /home/naumovski/tonynaumovskirotino.com/wp-includes/theme.php on line 576
1
antoccino

Votre installation WordPress est obsolète. La mise à niveau vers la dernière version (4.0.1 au moment de la rédaction) devrait résoudre ces problèmes, tout en corrigeant des centaines d'autres bogues et problèmes de sécurité.

En passant, vous devriez toujours conserver à la fois votre PHP et votre installation WordPress dans les dernières versions. Sélectionnez PHP 5.4 et passez aux versions 5.5 et 5.6 à mesure qu'elles deviennent disponibles. Ils corrigent les problèmes de sécurité dans PHP et apportent des améliorations majeures en termes de vitesse.

3
Tom J Nowell

Solution à court terme

Selon la réponse à: https://stackoverflow.com/a/9984309/1983389 vous pouvez supprimer les messages d'avertissement en modifiant le fichier php.ini ou .htaccess.

Dans votre changement php.ini

error_reporting = E_ALL

à

error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT

Si vous n'avez pas accès au php.ini, vous pouvez potentiellement le mettre dans votre fichier .htaccess:

php_value error_reporting 30711

C'est la valeur E_ALL (32767) et la suppression des valeurs E_STRICT (2048) et E_NOTICE (8).

Il semble que vous ayez déjà vérifié, mais certains panneaux de contrôle d’hébergement Web vous permettent de choisir une version plus ancienne de PHP, ce qui résoudrait également le problème.

Solution à long terme

Du point de vue de la sécurité, il est évidemment préférable de se tenir au courant des nouvelles versions de WordPress et PHP. Nous espérons que la solution à court terme ci-dessus vous permettra de gagner du temps pour planifier et exécuter les mises à jour requises.

1
Neil Robertson

Quelle version de WordPress? Il est tard et je suis fatigué, mais au fond, le code est obsolète. Le site doit être ancien. La version 5.2 a été publiée en 2006 et la version 5.3 en 2009. Comme la seule variable qui a été modifiée est la version PHP, je suis convaincu que c'est le cas. Le temps d'une réécriture peut-être.

1
Matthew Campbell