Ir al contenido principal
Todas las coleccionesPrestaShopPrestaShop
Error use of undefined constant intl_idna_variant_uts46 en PrestaShop
Error use of undefined constant intl_idna_variant_uts46 en PrestaShop
Actualizado hace más de 3 meses

Prueba primero a cambiar la versión de PHP

Si has actualizado recientemente la versión de PrestaShop 1.7.x y no puedes entrar al BackOffice, revisa el archivo error_log que hay en la carpeta donde están los archivos del Back Office y revisa a ver si ves el siguiente error:

use of undefined constant intl_idna_variant_uts46 - assumed 'intl_idna_variant_uts46'

Si es así, prueba a cambiar la versión de PHP de tu tienda por la versión 7.3.

Limpia las cookies y los temporales del navegador y prueba de nuevo a entrar.

Otra solución adicional

Si sigue persistiendo el error, prueba a modificar una línea del siguiente archivo:

/src/Core/Util/InternationalizedDomainNameConverter.php

Cambia la línea siguiente:

return $parts[0] . '@' . idn_to_utf8($parts[1], 0, INTL_IDNA_VARIANT_UTS46);

Por esta otra:

return $parts[0] . '@' . idn_to_utf8($parts[1], 0, intval(INTL_IDNA_VARIANT_UTS46));

Si recibes otro error relacionado: "PHP Deprecated: idn_to_utf8(): INTL_IDNA_VARIANT_2003"

Comprueba que existan las siguientes tablas en tu PrestaShop:

  • _employee_session

  • _customer_session

Si no es así, deberás correr el siguiente comando MySQL en PHPMyAdmin (revisa que el prefijo de las tablas de tu base de datos empiezan por "ps_" si no tendrás que adaptarlo en estos 2 comandos):

CREATE TABLE `ps_employee_session` (
  `id_employee_session` int(11) unsigned NOT NULL auto_increment,
  `id_employee` int(10) unsigned DEFAULT NULL,
  `token` varchar(40) DEFAULT NULL,
  PRIMARY KEY `id_employee_session` (`id_employee_session`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `ps_customer_session` (
  `id_customer_session` int(11) unsigned NOT NULL auto_increment,
  `id_customer` int(10) unsigned DEFAULT NULL,
  `token` varchar(40) DEFAULT NULL,
  PRIMARY KEY `id_customer_session` (`id_customer_session`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Ahora deberías poder entrar a PrestaShop con normalidad.

¿Ha quedado contestada tu pregunta?