Bonjour !
Je rencontre un souci avec mon site web (WordPress, child theme Kalium Freelancer) depuis quelques heures.
Tout à l'heure en collant du code JavaScript dans functions.php, j'ai dû faire une bêtise qui a créé une erreur technique. Le site était inaccessible et j'ai reçu un mail de WP avec cette erreur :
"Une erreur de type E_ERROR a été causée dans la ligne 18 du fichier /home/sofianewjd/www/wp-content/themes/kalium-child-freelancer/functions.php. Message d’erreur : Uncaught Error: Failed opening required '/home/sofianewjd/www/wp-content/themes/kalium-child-freelancer/includes/classes/kalium-main.php' (include_path='.:/usr/local/php8.1/lib/php') in /home/sofianewjd/www/wp-content/themes/kalium-child-freelancer/functions.php:18
Stack trace:
#0 /home/sofianewjd/www/wp-settings.php(600): include()
#1 /home/sofianewjd/www/wp-config.php(95): require_once('/home/sofianewj…')
#2 /home/sofianewjd/www/wp-load.php(50): require_once('/home/sofianewj…')
#3 /home/sofianewjd/www/wp-admin/admin-ajax.php(22): require_once('/home/sofianewj…')
#4 {main}
_ thrown"
Ensuite, en voulant aller dans le fichier functions.php, je me suis aperçu qu'il était complètement vide. Je l'ai remplacé par l'original (issu directement des fichiers d'installation du thème) et mon site était à nouveau accessible, mais depuis l'erreur suivante s'affiche en haut de mon back-office :
"Deprecated: rtrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/sofianewjd/www/wp-includes/formatting.php on line 2827"_
Ceci mis à part, le site fonctionne très bien côté front. En coulisses par contre, lorsque j'ajoute du JS à functions.php ça ne donne rien, alors que le même code fonctionnait parfaitement avant.
Après quelques recherches j'ai tenté de passer mon site en PHP 8.0 (depuis 8.1) ce qui a fait disparaître l'erreur, mais ne m'a pas permis d'ajouter à nouveau du JS. J'ai également testé de passer en 8.2, et là une quinzaine d'erreurs supplémentaires se sont affichées.
Enfin, j'ai aussi essayé de remplacer le fichier "formatting.php" par l'original issu des fichiers d'installation de WordPress, sans plus de succès.
Je vous serais vraiment reconnaissant de m'aider à résoudre ce problème, qui dépasse très largement mes petites compétences en CSS.
Merci par avance et bonne soirée !
Bonjour @SofianeB8
Quelle est la version de PHP préconisée pour votre thème et vos plugins ?
Quel Domaine ?
Bonjour !
Le thème demande simplement une version de PHP égale ou supérieure à 7.4, je ne sais pas où trouver l'information pour tous les plugins, mais tout fonctionnait parfaitement en 8.1.
Voilà le domaine : https://www.sofianeknox.com
Vous pourriez peut-être faire une restauration Hébergement et Base de données en date de la veille de vos modifications.
Même date pour les restaurations Hébergement et Base de données
Merci pour votre aide !
Je viens d'essayer de restaurer ces deux sauvegardes, malheureusement ça n'a rien donné…
J'ai quand même fini par trouver une solution pour faire fonctionner le JS (en le plaçant dans le footer via les options du thème) donc dans l'absolu mon site fonctionne.
Cependant, j'aimerais savoir si il est problématique de laisser le message "Deprecated" tel quel et m'assurer que je n'ai pas laissé quelque chose de défectueux suite à mon erreur, car il n'en demeure pas moins que le JS fonctionnait très bien dans functions.php avant…
Merci par avance !
Je viens d'essayer de restaurer ces deux sauvegardes, malheureusement ça n'a rien donné...
Pouvez-vous préciser ?
J'ai restauré la sauvegarde de l'Hébergement et celle de la Base de données, toutes deux faites juste avant que l'erreur apparaisse, mais cela n'a rien donné.
Le message "Deprecated: rtrim…" est toujours présent en haut de mon back office.
Avez-vous essayé de repasser en PHP 8.1 ?
Je n'ai pas retouché au PHP depuis ce week-end, je suis bien en 8.1
Alors je sèche.
Merci quand même d'avoir tenté de m'aider, bonne soirée à vous ![]()
J'ai restauré la sauvegarde de l'Hébergement et celle de la Base de données, toutes deux faites juste avant que l'erreur apparaisse, mais cela n'a rien donné.
Le message "Deprecated: rtrim..." est toujours présent en haut de mon back office.
Il n'y a rien de logique là dedans.
S'il n'y avait pas d'erreur au moment de la sauvegarde, après restauration on doit se retrouver dans le même état : **sans erreur**
De ce que j'ai cru comprendre, "Deprecated" n'indiquerait pas vraiment une erreur mais serait plutôt un avertissement sur le fait que le paramètre "string" ne serait pas pris en charge tel quel dans les versions futures de PHP.
Mais effectivement ça n'explique pas pourquoi il ne me le disait pas avant, ni pourquoi functions.php n'a plus d'effet depuis lors…
En effet, exemple : https://www.php.net/manual/en/function.mysql-connect.php
This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0.
"Deprecated" est bien un avertissement pour la version de PHP en cours.
Mais effectivement ça n'explique pas pourquoi il ne me le disait pas avant, ni pourquoi functions.php n'a plus d'effet depuis lors…
Peut-être que votre script functions.php a des fonctions qui sont "removed" et là pas de message d'erreur.
Bonjour,
vous avez ce message parce que vous êtes en PHP8.1 est que votre code sera obsolète pour la prochaine version majeur (si c'est toujours comme ça que ça fonctionne car je vois pas de précision dans le changelog).
Donc ce n'est pas une erreur mais un (très gros) avertissement.
[quote]
Passing null to non-nullable parameters of built-in functions ¶
Scalar types for built-in functions are nullable by default. This behaviour is deprecated to align with the behaviour of user-defined functions, where scalar types need to be marked as nullable explicitly.
var_dump(str_contains("foobar", null));
// Deprecated: Passing null to parameter #2 ($needle) of type string
// is deprecated
?>
[/quote]
Cf : https://www.php.net/manual/en/migration81.deprecated.php
Cordialement, janus57
Merci pour vos réponses !
Étant donné qu'il s'agit de formatting.php qui est un fichier WordPress, le problème devrait donc être résolu lors de la mise à jour suivante, non ?
Et concernant le code, faut-il l'ajouter dans formatting.php, functions.php ou ailleurs ?
Merci par avance
formatting.php qui est un fichier WordPress
Bonjour, Wordpress à jour n'utilise pas de fonction dépréciée en PHP8.
Soit vous utilisez une version Wordpress antique, soit un thème ou plugin déprécié lui aussi.
Je crois avoir trouvé la réponse, mon thème va bien jusqu'au 8.1 mais il semblerait qu'il s'agisse du plugin UpdraftPlus. Toujours aucune idée de pourquoi cet avertissement ne s'affichait pas avant, mais ça fait déjà un premier élément de réponse !
https://wpformation.com/sauvegardez-votre-site-wordpress-avec-updraftplus/
Quel est l'intérêt de ce truc ?
OVH sauvegarde déjà journalièrement hébergement et base de données sur des serveurs hors de votre hébergement.
Cet outil va vous saturer votre espace d'hébergement et . . . le jour où :
- Vous aurez oublié de renouveler votre hébergement,
- Vous aurez supprimé par erreur votre base de données,
- Il y aura le feu sur les serveurs OVH
Vous aurez tout perdu.
Sauvegardez sur votre PC hébergement et base de données.
Voir dans mon guide le paragraphe :
U - Sauvegarde complète de votre site sur votre PC
https://www.wordetweb.com/word-et-web/WORDPRESS-guide-installation-de-WordPress-premier-domaine-chez-OVH-FR.htm#U%E2%80%93_Sauvegarde
__________________________________________________________________________________
Voici un petit guide que j'ai écrit et qui pourrait vous apporter des éclaircissements pour une Installation complète et propre de votre Site.
**************************************************************************************************
* Guide - Comprendre la Relation Domaine > Zone DNS > Hébergement > Dossier du site *
**************************************************************************************************
Voir –> https://wordetweb.com/word-et-web/WORDPRESS-guide-installation-de-WordPress-premier-domaine-chez-OVH-FR.htm CMS - WordPress - Guide Installation chez OVH
Contrôler votre situation en suivant attentivement les paragraphes : A à J
N'hésitez pas à me faire un retour : positif ou négatif.
C'est comme cela que je peaufine mon Guide.
Si ce guide vous a bien aidé, n'hésitez pas à cliquer sur le bouton « j'aime »
Effectivement, jusqu'à votre message lundi j'ignorais l'existence des sauvegardes OVH, ça vaut sans doute mieux que ce plugin.
Merci pour votre aide !