Class ‘ZipArchive’ not found solución paso a paso en PHP

- Andrés Cruz

EN In english

Class ‘ZipArchive’ not found solución paso a paso en PHP

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:

 

PHP extension 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=zip

Elimina el punto y coma al principio de la línea para habilitar la extensión:

extension=zip

Guarda 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-zip

Reinicia 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-zip

Esto instala automáticamente la extensión necesaria.

Reiniciar servicios correctamente

Después de instalar, no olvides reiniciar:

sudo service apache2 restart

o si usas PHP-FPM:

sudo service php8.x-fpm restart

Si 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.
  • 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

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.

¿Error “Class ZipArchive not found”? Descubre cómo activar la extensión zip en PHP (Laragon, Linux, php.ini) en minutos.


Únete a la comunidad de desarrolladores que han decidido dejar de picar código y empezar a construir productos reales. Recibe mis mejores trucos de arquitectura cada semana:

Acepto recibir anuncios de interes sobre este Blog.

Andrés Cruz

EN In english