- Statut
- Ouvert
- Signalé pour
- WPML Multilingual CMS 4.6.4
- Étiquettes de sujet
- Bug
Aperçu de l’anomalie
La mise à jour vers WPML 4.6.4 sur un serveur avec le moteur de cache OpCache peut entraîner une erreur fatale inattendue lors de l’utilisation de votre back-end. Plus particulièrement lors de l’utilisation d’un pipeline de déploiement.
2023/06/22 02:36:16 [error] 359706#359706: *507646 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught TypeError: WPML\User\UsersByCapsRepository::__construct(): Argument #2 ($languagePairs) must be of type WPML\User\LanguagePairs\ILanguagePairs, WPML_Language_Pair_Records given, called in .../wp-content/plugins/sitepress-multilingual-cms/classes/container/class-config.php on line 63 and defined in .../wp-content/plugins/sitepress-multilingual-cms/classes/user/UsersByCapsRepository.php:18
Solution de contournement
Assurez-vous d’avoir une sauvegarde complète de votre site avant de continuer.
Option 1
Le redémarrage de votre serveur PHP devrait résoudre ce problème. Veuillez contacter votre hébergeur pour lui demander un redémarrage du service PHP-FPM.
Option 2
1. Vérifiez si les nouveaux fichiers sont présents- Ouvrez ../wp-content/plugins/sitepress-multilingual-cms/classes/language/class-wpml-language-pair-records.php
- Vérifiez si le fichier est correctement placé. Il devrait contenir ce code à la ligne 14 :
class WPML_Language_Pair_Records implements ILanguagePairs {Au lieu de :
class WPML_Language_Pair_Records { - Si ce n’est pas le cas, cela indique un problème dans le processus de déploiement et vous devez le vérifier.
Vous pouvez également invalider votre OPCache pour ce fichier spécifique.
- Exécutez ceci à partir d’un script servi par HTTP (pas en CLI/SSH) :
opcache_invalidate( '/wp-content/plugins/sitepress-multilingual-cms/classes/language/class-wpml-language-pair-records.php', true);
- Ouvrez votre dossier /wp-content/plugins/sitepress-multilingual-cms/classes/.
- Recherchez un dossier /Language/ restant avec une majuscule.
- Si c’est le cas, veuillez supprimer le répertoire
/Language/et assurez-vous que le répertoire/language/contient bien les fichiers de la version 4.6.6 de WPML.
Si le problème persiste, veuillez contacter l’assistance WPML. Il serait très utile que vous nous envoyiez le contenu de votre phpinfo().