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
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.
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.
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.