Cómo instalar la extensión PHP Zip en CentOS/RHEL

Publicado 27 de agosto de 2024

Problema: Instalación de la extensión PHP Zip en CentOS/RHEL

La extensión PHP Zip permite trabajar con archivos ZIP en aplicaciones PHP. No viene incluida por defecto en las distribuciones CentOS y RHEL. Los usuarios a menudo tienen dificultades para instalar esta extensión, ya que el proceso puede ser complejo en comparación con otros módulos de PHP.

Pasos para instalar la extensión PHP Zip

Verificar la versión de PHP

Para comenzar, necesitas conocer tu versión de PHP. Abre una terminal y ejecuta:

php -v

Esto mostrará tu versión actual de PHP. Tu versión de PHP determina qué paquete instalar.

Instalar la extensión PHP Zip en CentOS 7

En CentOS 7, usa YUM para instalar la extensión PHP Zip:

  1. Abre una terminal.
  2. Ejecuta:
sudo yum install php-zip
  1. Ingresa tu contraseña si se te solicita.

Instalar la extensión PHP Zip en CentOS 8

CentOS 8 usa DNF. Para instalar la extensión PHP Zip:

  1. Abre una terminal.
  2. Ejecuta:
sudo dnf install php-zip
  1. Ingresa tu contraseña si se te solicita.

Verificar la instalación

Después de la instalación, verifica si la extensión Zip está activa:

  1. Ejecuta en la terminal:
php -m | grep zip
  1. Si ves "zip" en la salida, la extensión está activa.

También puedes crear un archivo PHP con este contenido:

<?php
if (extension_loaded('zip')) {
    echo "La extensión ZIP está instalada.";
} else {
    echo "La extensión ZIP no está instalada.";
}
?>

Guarda esto como "check_zip.php" y ejecútalo en tu navegador o línea de comandos para confirmar la instalación.

Métodos alternativos para instalar la extensión PHP Zip

Usando PECL (PHP Extension Community Library)

PECL ofrece otra forma de instalar extensiones PHP. Para usar PECL para instalar la extensión ZIP:

  1. Instala PECL:

    sudo yum install php-pear
  2. Instala la extensión ZIP a través de PECL:

    sudo pecl install zip
  3. Añade la extensión a tu configuración PHP:

    echo "extension=zip.so" | sudo tee -a /etc/php.ini
  4. Reinicia tu servidor web para aplicar los cambios.

Compilando desde el código fuente

Puedes compilar la extensión ZIP desde el código fuente:

  1. Descarga el código fuente:

    wget https://pecl.php.net/get/zip-1.19.3.tgz
  2. Extrae el archivo:

    tar -xzvf zip-1.19.3.tgz
  3. Ve al directorio extraído:

    cd zip-1.19.3
  4. Prepara el entorno de compilación:

    phpize
  5. Configura la compilación:

    ./configure
  6. Compila e instala:

    make
    sudo make install
  7. Añade la extensión a tu configuración PHP:

    echo "extension=zip.so" | sudo tee -a /etc/php.ini
  8. Reinicia tu servidor web para aplicar los cambios.

Reemplaza "1.19.3" con la versión que desees instalar.

Solución de problemas comunes

Problemas con repositorios

Podrías enfrentar problemas con los repositorios de paquetes al intentar instalar la extensión PHP Zip. Para solucionarlos:

  1. Actualiza tus listas de repositorios:

    sudo yum clean all
    sudo yum update
  2. Si el sistema no puede encontrar el paquete PHP Zip, añade el repositorio EPEL:

    sudo yum install epel-release
    sudo yum update

Después de añadir EPEL, intenta instalar la extensión PHP Zip nuevamente.

Conflictos de dependencias

Podrías encontrar conflictos de dependencias al instalar la extensión PHP Zip. Para solucionarlos:

  1. Verifica las dependencias conflictivas o faltantes:

    sudo yum deplist php-zip
  2. Si hay dependencias faltantes, instálalas:

    sudo yum install [nombre-del-paquete]
  3. Actualiza los paquetes de tu sistema:

    sudo yum update
  4. Si aún tienes problemas, intenta instalar la extensión PHP Zip con la opción "--skip-broken":

    sudo yum install php-zip --skip-broken

Esta opción permite a yum omitir paquetes que puedan causar problemas de dependencias.