PrestaShop – “La extensión intl no está cargada”: cómo solucionarlo de forma correcta (PHP 7/8, Apache, Nginx, FPM, Docker y Windows)
Al instalar PrestaShop, a veces aparece el error “La extensión intl no está cargada”. Esta extensión (PHP Intl) es necesaria para internacionalización (formatos de fecha/número, NumberFormatter, ordenaciones locales, etc.). A continuación tienes la guía completa y comprobada para resolverlo en distintos entornos.
1) Verifica primero si intl está cargada
php -m | grep intl
php -i | grep -i "intl"
Si usas servidor web, crea temporalmente un info.php con <?php phpinfo(); y ábrelo en el navegador para comprobar si intl aparece en la SAPi que realmente atiende tu web.
Importante: el resultado de la CLI puede ser diferente del servidor web (mod_php / php-fpm). Asegúrate de comprobar la misma SAPi que usa tu sitio.
2) Debian/Ubuntu
2.1 Apache (mod_php)
sudo apt update
# Instala el paquete de tu versión (ejemplos):
sudo apt install php-intl           # usa la versión por defecto del sistema
# o específicos:
sudo apt install php8.2-intl        # para PHP 8.2
sudo apt install php8.1-intl        # para PHP 8.1
# Habilita el módulo si procede y reinicia Apache:
sudo phpenmod intl
sudo systemctl restart apache2
Alternativa manual: edita /etc/php/<version>/apache2/php.ini, busca ;extension=intl y descomenta (deja extension=intl). Reinicia Apache.
2.2 Nginx + PHP-FPM
sudo apt update
sudo apt install php-intl            # o php8.2-intl / php8.1-intl
sudo phpenmod intl
# Recarga FPM y Nginx (ajusta la versión del pool FPM):
sudo systemctl reload php8.2-fpm
sudo systemctl reload nginx
Alternativa manual: edita /etc/php/<version>/fpm/php.ini y/o un conf.d (por ejemplo /etc/php/<version>/mods-available/intl.ini) para asegurar extension=intl. Luego recarga FPM y Nginx.
3) Rutas y SAPIs habituales
  /etc/php/<version>/apache2/php.ini → Apache (mod_php) 
  /etc/php/<version>/fpm/php.ini → PHP-FPM 
  /etc/php/<version>/cli/php.ini → CLI 
Comprueba en phpinfo() la línea Loaded Configuration File para editar el php.ini correcto.
4) Docker (Debian/Ubuntu base)
En imágenes oficiales basadas en Debian/Ubuntu:
RUN apt-get update \
 && apt-get install -y --no-install-recommends php-intl \
 && rm -rf /var/lib/apt/lists/*
Recuerda habilitar la extensión si tu imagen lo requiere (a menudo basta con instalar el paquete). Reinicia el servicio PHP del contenedor o recontruye la imagen.
5) Docker (Alpine)
En Alpine, las librerías ICU y el paquete cambian:
# PHP 8.2 como ejemplo:
RUN apk add --no-cache icu-data-full icu-libs php82-intl
Si usas variantes con docker-php-ext-install (imágenes PHP oficiales con herramientas de build), puedes compilar:
RUN apk add --no-cache $PHPIZE_DEPS icu-dev \
 && docker-php-ext-install intl \
 && apk del $PHPIZE_DEPS
6) Windows (XAMPP/WAMP)
  - Edita 
php.ini y descomenta extension=intl. 
  - Asegúrate de que los 
icu*.dll están disponibles (normalmente vienen con la distribución PHP). 
  - Reinicia Apache o PHP-FPM en Windows.
 
7) cPanel / Plesk
En muchos hostings compartidos podrás activar intl desde el selector de extensiones de PHP del panel (Seleccionar PHP → Extensiones → marca intl → Guardar). Después, limpia cachés de opcode si aplica.
8) Problemas frecuentes
  - Múltiples versiones de PHP instaladas: has habilitado 
intl en la versión equivocada. Comprueba phpinfo() en web. 
  - Editas el 
php.ini equivocado: revisa Loaded Configuration File en phpinfo(). 
  - Falta reinicio/recarga del servicio: Apache necesita 
restart; FPM/Nginx, reload. 
  - Alpine: faltan paquetes ICU; instala 
icu-libs o icu-dev según corresponda. 
9) Resumen de comandos rápidos
# Debian/Ubuntu - Apache
sudo apt install php-intl && sudo phpenmod intl && sudo systemctl restart apache2
# Debian/Ubuntu - Nginx + FPM (ajusta versión)
sudo apt install php8.2-intl && sudo phpenmod intl \
&& sudo systemctl reload php8.2-fpm && sudo systemctl reload nginx
# Verificar
php -m | grep intl
10) ¿Sigue fallando?
Comprueba el log de errores de PHP/servidor y pega el resultado de:
php -i | grep -Ei 'intl|icu|Configuration File'
Con esa salida se puede diagnosticar rápidamente conflicto de versiones o librerías ICU.