El error “Class ‘ZipArchive’ not found” en PHP aparece cuando intentas trabajar con archivos comprimidos (ZIP) pero el sistema no reconoce la clase ZipArchive.
En mi caso, me encontré con este error al intentar descomprimir archivos en un proyecto local, y al principio parecía algo más complejo de lo que realmente era.
La realidad: PHP no tiene habilitada la extensión necesaria para trabajar con ZIP.
El error de “Class ‘ZipArchive’ not found” sucede cuando no tenemos la extensión de zip habilitada o instalada; veamos como podemos resolver el problema
Laragon
En Laragon en Windows es tan simple como ir a las extensiones y habilitar el de zip:

Otros sistemas
En otros sistemas, verifica si la Extensión zip está Habilitada:
Abre el archivo php.ini en un editor de texto.
Busca la siguiente línea:
;extension=zipElimina el punto y coma al principio de la línea para habilitar la extensión:
extension=zipGuarda los cambios y reinicia tu servidor web y/o PHP.
En ambientes linuz, puedes ejecutar el siguiente comando en la terminal para instalar la extensión zip:
sudo apt-get install php-zipReinicia tu servidor web y/o PHP.
Cómo solucionar el error en Linux
En sistemas Linux, normalmente el problema es que la extensión no está instalada php-zip.
Ejecuta:
sudo apt-get install php-zipEsto instala automáticamente la extensión necesaria.
Reiniciar servicios correctamente
Después de instalar, no olvides reiniciar:
sudo service apache2 restarto si usas PHP-FPM:
sudo service php8.x-fpm restartSi no reinicias, el error seguirá apareciendo aunque todo esté bien instalado.
Cómo comprobar si ZipArchive está habilitado
Para asegurarte de que todo funciona:
Opción 1: phpinfo()
Crea un archivo con:
<?php phpinfo(); ?>Busca “zip” en la página.
Opción 2: Código directo
<?php
if (class_exists('ZipArchive')) {
echo "ZipArchive está habilitado";
} else {
echo "ZipArchive NO está disponible";
}Por qué ocurre este error (causas más comunes)
- Extensión zip no instalada
- PHP necesita la extensión zip para poder usar ZipArchive.
Si no está instalada, el error aparecerá automáticamente.
- PHP necesita la extensión zip para poder usar ZipArchive.
- Extensión zip deshabilitada en php.ini
- Esto es lo más habitual. Muchas veces la extensión está instalada pero no activada.
- De hecho, cuando me pasó, pensé que faltaba algo más complejo… pero era simplemente una línea comentada en el php.ini.
- Problemas con el entorno (Laragon, XAMPP, Linux)
- Dependiendo del entorno, la solución cambia ligeramente:
- Laragon → interfaz gráfica
- XAMPP → configuración manual
- Linux → instalación por terminal
- Dependiendo del entorno, la solución cambia ligeramente:
Cómo solucionar “ZipArchive not found” en Windows (Laragon, XAMPP)
Activar zip en Laragon
Si estás usando Laragon, la solución es prácticamente inmediata.
En mi caso fue tan simple como:
ir a extensiones y habilitar zip
Errores comunes y cómo evitarlos
- Olvidar reiniciar el servidor
- Editar el php.ini incorrecto
- Tener múltiples versiones de PHP
- Activar la extensión en CLI pero no en Apache
Esto último me pasó una vez: todo funcionaba en terminal, pero no en el navegador. El problema era que PHP CLI y Apache usaban configuraciones distintas.
FAQs sobre ZipArchive en PHP
- ¿Qué es ZipArchive en PHP?
- Es una clase nativa que permite crear, abrir, extraer y modificar archivos ZIP.
- ¿Por qué no está disponible por defecto?
- Porque depende de la extensión zip, que puede no estar habilitada en algunas instalaciones de PHP.
- ¿Funciona en todas las versiones de PHP?
- Sí, pero necesitas tener instalada y activada la extensión correspondiente.
Conclusión
El error “Class ‘ZipArchive’ not found” es uno de los más comunes en PHP, pero también de los más fáciles de solucionar.
En la mayoría de casos, como viste:
- Solo necesitas activar una extensión
- O instalar un paquete en Linux
La clave está en identificar rápidamente tu entorno y aplicar la solución correcta.