Soporte » Instalación – Actualizaciones » Error crítico al actualizar a PHP 8 con GeneratePress

  • Resuelto ohana99

    (@ohana99)


    Hola,
    Al actualizar a PHP 8 con GeneratePress con su tema hijo (si me quedo en PHP 7.4 toca pagar mensualmente a mi proveedor) me funcionan todos los dominios y subdominios de mi alojamiento excepto https://cosmozoom.eu (los subdominios de este también funcionan sin problema con PHP8).

    Los plugins estan actualizados y he llamado al dominio anulando la lectura de plugins y la web sigue sin responder. Los plugins son estos pero no creo que sea problema de ellos, los tengo en otros dominios y funcionan con pHP8:

    – Child Theme Configurator
    – Elementor Pro
    – GTranslate
    – Premium Addons for Elementor
    – W3 Total Cache

    Se me ocurre que en el tema hijo tengo modificado el footer de la página en «funciones.php»:

    add_filter( ‘generate_copyright’,’tu_custom_copyright’ );
    function tu_custom_copyright() {
    ?>
    All images and content © COSMOZOOM
    <?php
    }

    Y en el tema GeneratePressChild, tengo modificado el CCS adicional con:

    /*Añadir botón menu superior*/

    @media (min-width:769px) {
    .main-navigation .main-nav ul li.nav-button a {
    background-color: #3f8aba;
    border: px solid #000000;
    color: #ffffff;
    border-radius: 50px;
    margin-top: px;
    margin-left: 30px;
    line-height: 25px;
    }

    Si alguien me puede ayudar estaré muy agradecido. He puesto toda la información posible.

    La página con la que necesito ayuda: [accede para ver el enlace]

Viendo 11 respuestas - de la 1 a la 11 (de un total de 11)
  • Hola! En estos casos sería conveniente aplicar el método estándar para intentar averiguar qué ocasiona el error. Antes que nada haz una copia de la base de datos para evitar cualquier problema.

    1. Cambia al tema padre. A ser posible, el original sin modificaciones y comprueba
    2. Si el error desaparece, tendrás que comprobar en el tema hijo (activandolo de nuevo, por supuesto) de dónde sale el fallo. Podrías ir comentando funciones en el archivo que has comentado y así descartar cuáles provocan el error
    3. Si el error se sigue produciendo, desactiva todos los plugins y comprueba de nuevo. Si el error desaparece, activa y comprueba uno a uno hasta que veas el plugin que ocasiona el fallo

    Se me olvidaba: activa el debug de wordpress, suficiente con la línea define( 'WP_DEBUG', true );

    https://wordpress.org/documentation/article/debugging-in-wordpress/

    Así es posible ver en pantalla más datos del error

    Iniciador del debate ohana99

    (@ohana99)

    Hola esgon,
    Muchas gracias por tu respuesta.
    He probado todo lo que dices y nada ha funcionado.

    Incluso he borrado el CCS adiconal y el código del footer de funciones.php

    He eliminado, por ser innecesarios: Child Theme Configurator y GTranslate.

    He ido un paso más allá instalando ASTRA desde cero, a ver si con este tema se solucionaba… pero nada de nada…

    Por supuesto borrando caché como un loco a cada cambio.

    Lo único que no he hecho es activar el debug, desconozco el procedimiento y debo leerlo con calma.

    Hola! Perdona la tardanza, me paso cuando puedo por aquí. Vale, entonces descartamos plugins y temas.
    Para el debug, si quieres un resumen es solo cambiar un parámetro en el archivo de la carpeta raíz wp-config la línea en la que esté escrito WP_DEBUG, ponerlo en true y cargar la página que falla para ver el fallo. Para desactivarlo, el valor se pone de nuevo como «false» y listo.
    Convendría ver el error exacto con debug o en algún log de errores de php que tengas en el servidor (filtrando por errores 500) para localizarlo mejor

    Iniciador del debate ohana99

    (@ohana99)

    Gracias de nuevo por la respuesta.
    Aporto un dato más para ir descartando: sin tocar nada,he cambiado a PHP 8.0 y la web funciona pero aparece error crítico en la pantalla de accceso wp-login.php.

    Iniciador del debate ohana99

    (@ohana99)

    Este es el error que aparece al cargar la página después de cambiar el DEBUG a true:

    Fatal error: Uncaught Error: Undefined constant «�WP_MEMORY_LIMIT�» in /mnt/web211/d1/42/51954842/htdocs/STRATO-apps/wordpress_03/app/wp-config.php:113 Stack trace: #0 /mnt/web211/d1/42/51954842/htdocs/STRATO-apps/wordpress_03/app/wp-load.php(50): require_once() #1 /mnt/web211/d1/42/51954842/htdocs/STRATO-apps/wordpress_03/app/wp-login.php(12): require(‘…’) #2 {main} thrown in /mnt/web211/d1/42/51954842/htdocs/STRATO-apps/wordpress_03/app/wp-config.php on line 113

    Moderador almendron

    (@almendron)

    1) GeneratePress es compatible con PHP 8.0.

    2) En principio, la cusa del problema tiene que venir de algún plugin o código personalizado. Debes desactivar TODOS los plugins y luego pasar a PHP 8.0.

    Nota: algún plugin o código personalizado ha modificado la página de acceso (wp-login.php) porque en la frase «Ir a» falta el nombre de tu sitio.

    Iniciador del debate ohana99

    (@ohana99)

    Gracias almendron,
    He vuelto a desactivar plugins (ya lo hice) y sigue apareciendo error.

    Respecto al código, lo único que he modificado es lo que puse en mi primer mensaje. Estos los borré y pasé a PHP8 y seguía el error. Ya no sé que hacer más…

    Este es el error que aparece al cargar la página después de cambiar el DEBUG a true:
    
    Fatal error: Uncaught Error: Undefined constant «�WP_MEMORY_LIMIT�» in /mnt/web211/d1/42/51954842/htdocs/STRATO-apps/wordpress_03/app/wp-config.php:113 Stack trace: #0 /mnt/web211/d1/42/51954842/htdocs/STRATO-apps/wordpress_03/app/wp-load.php(50): require_once() #1 /mnt/web211/d1/42/51954842/htdocs/STRATO-apps/wordpress_03/app/wp-login.php(12): require(‘…’) #2 {main} thrown in /mnt/web211/d1/42/51954842/htdocs/STRATO-apps/wordpress_03/app/wp-config.php on line 113

    Hola! Viendo el error, te dice que en wp-config.php falla la constante WP_MEMORY_LIMIT. Tendrías que acceder al archivo wp-config.php, que está en la raíz, y comprobar que está bien escrito, sin espacios dentro del entrecomillado ni nada.

    Ejemplo:
    define('WP_MEMORY_LIMIT', '256M');

    Edit: importante que las comillas sean ‘, si son tipo ’ no funcionará

    • Esta respuesta fue modificada hace 1 semana, 4 días por esgon.
    Iniciador del debate ohana99

    (@ohana99)

    Está bien escrito, pero tengo el límite en 128M. ¿Puedo subir a 256M?

    Iniciador del debate ohana99

    (@ohana99)

    ¡Funciona! Eran las malditas comillas.

    ¡Mil gracias!

Viendo 11 respuestas - de la 1 a la 11 (de un total de 11)
  • Debes estar registrado para responder a este debate.