- Status
- Offen
- Gemeldet für
- WPML Multilingual CMS 4.6.4
- Themen-Tags
- Bug
Übersicht über das Problem
Ein Update auf WPML 4.6.4 auf einem Server mit der Caching-Engine OpCache kann zu einem unerwarteten schwerwiegenden Fehler bei der Verwendung Ihres Backends führen. Insbesondere bei der Verwendung einer Deployment-Pipeline.
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
Problemumgehung
Bitte stellen Sie sicher, dass Sie über ein vollständiges Backup Ihrer Website verfügen, bevor Sie fortfahren.
Option 1
Ein Neustart Ihres PHP-Servers sollte dieses Problem beheben. Bitte kontaktieren Sie Ihren Server-Anbieter und fordern Sie einen Neustart des PHP-FPM-Dienstes an.
Option 2
1. Überprüfen Sie, ob die neuen Dateien vorhanden sind- Öffnen Sie ../wp-content/plugins/sitepress-multilingual-cms/classes/language/class-wpml-language-pair-records.php
- Überprüfen Sie, ob die Datei korrekt platziert ist. Sie sollte in Zeile 14 diesen Code enthalten:
class WPML_Language_Pair_Records implements ILanguagePairs {Anstelle von:
class WPML_Language_Pair_Records { - Wenn dies nicht der Fall ist, deutet das auf ein Problem im Bereitstellungsprozess hin, das Sie überprüfen müssen.
Sie können alternativ Ihren OPCache für diese spezifische Datei invalidieren.
- Führen Sie dies über ein per HTTP aufgerufenes Skript aus (nicht CLI/SSH):
opcache_invalidate( '/wp-content/plugins/sitepress-multilingual-cms/classes/language/class-wpml-language-pair-records.php', true);
- Öffnen Sie Ihren Ordner /wp-content/plugins/sitepress-multilingual-cms/classes/.
- Suchen Sie nach einem verbliebenen Ordner /Language/ mit Großbuchstaben.
- Wenn dies der Fall ist, entfernen Sie bitte das Verzeichnis
/Language/und stellen Sie sicher, dass das Verzeichnis/language/die Dateien aus der WPML-Version 4.6.6 enthält.
Wenn das Problem weiterhin besteht, kontaktieren Sie bitte den WPML-Support. Es wäre sehr hilfreich, wenn Sie uns den Inhalt Ihrer phpinfo() senden würden.