Prestashop Resolución error: Attempt to read property "theme_name" on null


#1

Introducción

  1. Si durante la instalación de Prestashop 8.X, se produce el siguiente error durante la base de despliegue de base de datos, deteniendo el instalador con:

    Se ha producido un error durante la instalación…
    Puede utilizar los enlaces que se encuentran en la columna de la izquierda para volver a los pasos
    anteriores, o también reiniciar el proceso de instalación haciendo clic aquí.

    1: HTTP 200 - parsererror - {“success”:true,“message”:""}

    Warning: Attempt to read property “theme_name” on null in /var/webs/domain.com/html/var/cache/prod/ContainerVxPm8gs/appAppKernelProdContainer.php on line 2870

  2. Entonces desactivar el error reporting de PHP para evitar que se mezcle salida Json con contenido normal incompatible:

    // E_ALL & ~E_NOTICE & ~E_WARNING & ~E_STRICT & ~E_DEPRECATED
    error_reporting (22517);
    
  3. Confirmar que este error afecta, al menos, a las versiones prestashop 8.1.4, 8.1.5, 8.1.6.

Detalles adicionales

  1. El error se produce debido que el motor de importado de base de datos es sensible a la salida generada, esperando json. En caso de mezclarse Json con dicha salida, genera un error que no es capaz de recuperar el instalador, deteniendo el proceso.

  2. Confirmar que intentar resolver los siguientes errores durante la instalación no tiene efecto ya que son errores transitorios que sólo se producen durante la instalación (mientras que el motor Symfony inyecta y define modulos, cache y base de datos):

    [Tue Jun 18 12:25:51.092011 2024] [proxy_fcgi:error] [pid 89508:tid 140024734979648] [remote 213.98.90.76:41994] AH01071: Got error ‘PHP message: PHP Warning: Constant PS_DO_NOT_LOAD_CONFIGURATION already defined in /var/webs/domain.com/html/install/controllers/http/smarty_compile.php on line 26PHP message: PHP Fatal error: Uncaught Error: Undefined constant “DB_PREFIX” in /var/webs/domain.com/html/classes/Configuration.php:175\nStack trace:\n#0 /var/webs/domain.com/html/classes/Configuration.php(229): ConfigurationCore::loadConfiguration()\n#1 /var/webs/domain.com/html/config/smarty.config.inc.php(28): ConfigurationCore::get()\n#2 /var/webs/domain.com/html/install/controllers/http/smarty_compile.php(37): require_once(’…’)\n#3 /var/webs/domain.com/html/install/classes/controllerHttp.php(190): require_once(’…’)\n#4 /var/webs/domain.com/html/install/index.php(53): InstallControllerHttp::execute()\n#5 {main}\n thrown in /var/webs/domain.com/html/classes/Configuration.php on line 175’, referer: https://www.domain.com/install/index.php

    ==> /var/webs/domain.com/logs/error.log <==
    [Tue Jun 18 12:39:07.209320 2024] [proxy_fcgi:error] [pid 89508:tid 140024802145856] [remote 213.98.90.76:43818] AH01071: Got error ‘PHP message: PHP Warning: Constant PS_DO_NOT_LOAD_CONFIGURATION already defined in /var/webs/domain.com/html/install/controllers/http/smarty_compile.php on line 26’, referer: https://www.domain.com/install/index.php?restart=true

  3. Este error ha sido reportado en distintas ocasiones, y reaparece cada cierto tiempo debido a que esa parte del desplegador de Prestashop es sensible a la salida JSON:

    https://github.com/PrestaShop/PrestaShop/issues/33327
    https://github.com/PrestaShop/PrestaShop/issues/33717
    https://github.com/PrestaShop/PrestaShop/issues/33540
    https://github.com/PrestaShop/PrestaShop/issues/29557#issuecomment-2160769671

  4. Confirmar que no se resuelve actualizando lo distintos parámetros de sesión como siguiere el siguiente usuario:

    https://github.com/PrestaShop/PrestaShop/issues/33540#issuecomment-1741529344

  5. Tampoco lo resuelve realizar la instalación con o sin certificado, ni tampoco añadiendo los siguientes cambios:

    https://github.com/PrestaShop/PrestaShop/issues/29557#issuecomment-1403484358

  6. Al mismo tiempo, actualizar la implementación del appAppKernelProdContainer.php no lo resolverá ya que es un problema de parseo json: el instalador espera salida JSON, y al no obtenerla, se rompe el proceso con un error desconocido.

Integración Core-Admin

  1. Core-Admin revisión 1.0.156 rev 15696 ya incluye una actualización para configurar el error_reporting por defecto para que se haga automáticamente esta configuración durante el proceso de instalación de Prestashop 1.7 y 8.X.

Referencias

Cualquier duda

Contad con nosotros en soporte@aspl.es