- Stato
- Aperto
- Segnalato per
- WPML Multilingual CMS 4.6.4
- Tag dell’argomento
- Bug
Panoramica del problema
L’aggiornamento a WPML 4.6.4 su un server con il motore di cache OpCache potrebbe causare un errore fatale imprevisto durante l’utilizzo del tuo backend. In particolare quando utilizzi una pipeline di deployment.
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
Soluzione alternativa
Assicurati di avere un backup completo del tuo sito prima di procedere.
Opzione 1
Il riavvio del server PHP dovrebbe risolvere questo problema. Contatta il provider del server e richiedi un riavvio del servizio PHP-FPM.
Opzione 2
1. Controlla se i nuovi file sono presenti- Apri ../wp-content/plugins/sitepress-multilingual-cms/classes/language/class-wpml-language-pair-records.php
- Controlla se il file è posizionato correttamente. Dovrebbe contenere questo codice alla riga 14:
class WPML_Language_Pair_Records implements ILanguagePairs {Invece di:
class WPML_Language_Pair_Records { - In caso contrario, indicherebbe un problema nel processo di distribuzione che dovrai verificare.
In alternativa, puoi invalidare l’OPCache per quel file specifico.
- Esegui questo da uno script servito via HTTP (non CLI/SSH):
opcache_invalidate( '/wp-content/plugins/sitepress-multilingual-cms/classes/language/class-wpml-language-pair-records.php', true);
- Apri la cartella /wp-content/plugins/sitepress-multilingual-cms/classes/.
- Cerca una cartella /Language/ rimanente con l’iniziale maiuscola.
- In tal caso, rimuovi la directory
/Language/e assicurati che quella/language/contenga i file della versione WPML 4.6.6.
Se il problema persiste, contatta il supporto WPML. Sarebbe davvero utile se ci inviassi il contenuto del tuo phpinfo().