Soporte » Instalación – Actualizaciones » Error al cambiar a php 8 y superior

  • Buenos días, tenemos varios sitios web alojados en un hosting. Todos usan wordpress. Hemos actualizado a WordPress 6.1 todos los sitios web. Ahora queríamos pasar a usar php 8 o 8.1 no obstante hay un sutio web que nos da error al hacer este cambio.

    La pantalla se queda en blanco, al habilitar el debug me muestra esto:

    Fatal error: Uncaught TypeError: call_user_func_array(): Argument #1 ($callback) must be a valid callback, non-static method OpenGraphProtocol::add_namespace() cannot be called statically in /var/www/vhosts/totemguard.com/httpdocs/aulatotem/wp-includes/class-wp-hook.php:310 Stack trace: #0 /var/www/vhosts/totemguard.com/httpdocs/aulatotem/wp-includes/plugin.php(205): WP_Hook->apply_filters() #1 /var/www/vhosts/totemguard.com/httpdocs/aulatotem/wp-includes/general-template.php(4372): apply_filters() #2 /var/www/vhosts/totemguard.com/httpdocs/aulatotem/wp-includes/functions.php(3778): get_language_attributes() #3 /var/www/vhosts/totemguard.com/httpdocs/aulatotem/wp-includes/functions.php(3713): _default_wp_die_handler() #4 /var/www/vhosts/totemguard.com/httpdocs/aulatotem/wp-includes/class-wp-fatal-error-handler.php(239): wp_die() #5 /var/www/vhosts/totemguard.com/httpdocs/aulatotem/wp-includes/class-wp-fatal-error-handler.php(154): WP_Fatal_Error_Handler->display_default_error_template() #6 /var/www/vhosts/totemguard.com/httpdocs/aulatotem/wp-includes/class-wp-fatal-error-handler.php(58): WP_Fatal_Error_Handler->display_error_template() #7 [internal function]: WP_Fatal_Error_Handler->handle() #8 {main} thrown in /var/www/vhosts/totemguard.com/httpdocs/aulatotem/wp-includes/class-wp-hook.php on line 310

    En este caso no veo que el causante del error sea un plugin en concreto por lo que no se por donde tirar para solucionar el problema.

    Todos los plugins y temas están actualizados

    Este problema solo sucede en uno de nuestros sitios webs, el resto se visualiza correctamente al cambiar a php 8 o 8.1

    Alguna idea?

    Muchas gracias!

Viendo 1 respuesta (de un total de 1)
  • Moderador almendron

    (@almendron)

    En estos casos, lo único que se puede hacer es

    1) Cambiar el tema a uno de los que trae por defecto WordPress y después actualizar a PHP 8. Si el problema desaparece, ya sabéis que es cosa del tema.

    2) Si el error persiste, volver a la versión previa de PHP. Luego activar el tema original, desactivar TODOS los plugins y finalmente actualizar a PHP 8. Si el problema desapareciera, entonces, ir activando uno a uno hasta encontrar al responsable.

Viendo 1 respuesta (de un total de 1)
  • Debes estar registrado para responder a este debate.