WPML
Estado
Abierto
Notificado para
WPML Multilingual CMS 4.6.4
Etiquetas de temática
Bug

Resumen del problema

Actualizar a WPML 4.6.4 en un servidor con el motor de caché OpCache podría provocar un error fatal inesperado al usar su backend. Específicamente al usar un pipeline de despliegue.

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

Solución alternativa

Asegúrese de tener una copia de seguridad completa de su sitio antes de continuar.

Opción 1


Reiniciar su servidor PHP debería solucionar este problema. Póngase en contacto con su proveedor de alojamiento y solicite un reinicio del servicio PHP-FPM.

Opción 2

1. Compruebe si los archivos nuevos están presentes

  • Abra ../wp-content/plugins/sitepress-multilingual-cms/classes/language/class-wpml-language-pair-records.php

  • Compruebe si el archivo está colocado correctamente. Debería contener este código en la línea 14:
    class WPML_Language_Pair_Records implements ILanguagePairs {

    En lugar de:

    class WPML_Language_Pair_Records {


  • Si no es así, indicaría un problema en el proceso de despliegue que debe revisar.
2. Si ve que el contenido del archivo es correcto

De forma alternativa, puede invalidar su OPCache para ese archivo en específico.


  • Ejecute esto desde un script servido por HTTP (no CLI/SSH):
    opcache_invalidate( '/wp-content/plugins/sitepress-multilingual-cms/classes/language/class-wpml-language-pair-records.php', true);

3. Por último, verifique que no quede ninguna carpeta /Language/

  • Abra su carpeta /wp-content/plugins/sitepress-multilingual-cms/classes/.

  • Busque si queda alguna carpeta /Language/ con mayúscula inicial.

  • Si es así, elimine el directorio /Language/ y asegúrese de que el directorio /language/ tenga los archivos de la versión WPML 4.6.6.

Si el problema persiste, póngase en contacto con el soporte de WPML. Sería de gran ayuda que nos envíe el contenido de su phpinfo().

Todos los problemas conocidos →