Como Instalar a Extensão PHP Zip no CentOS/RHEL?

Publicado 27 de agosto de 2024

Problema: Instalando a Extensão PHP Zip no CentOS/RHEL

A extensão PHP Zip permite trabalhar com arquivos ZIP em aplicações PHP. Ela não vem incluída por padrão nas distribuições CentOS e RHEL. Os usuários frequentemente têm dificuldades para instalar essa extensão, pois o processo pode ser complexo em comparação com outros módulos PHP.

Passos para Instalar a Extensão PHP Zip

Verificar a Versão do PHP

Para começar, você precisa saber sua versão do PHP. Abra um terminal e execute:

php -v

Isso mostra sua versão atual do PHP. Sua versão do PHP determina qual pacote instalar.

Instalar a Extensão PHP Zip no CentOS 7

No CentOS 7, use o YUM para instalar a extensão PHP Zip:

  1. Abra um terminal.
  2. Execute:
sudo yum install php-zip
  1. Digite sua senha se solicitado.

Instalar a Extensão PHP Zip no CentOS 8

O CentOS 8 usa DNF. Para instalar a extensão PHP Zip:

  1. Abra um terminal.
  2. Execute:
sudo dnf install php-zip
  1. Digite sua senha se solicitado.

Verificar a Instalação

Após a instalação, verifique se a extensão Zip está ativa:

  1. Execute no terminal:
php -m | grep zip
  1. Se você ver "zip" na saída, a extensão está ativa.

Você também pode criar um arquivo PHP com este conteúdo:

<?php
if (extension_loaded('zip')) {
    echo "A extensão ZIP está instalada.";
} else {
    echo "A extensão ZIP não está instalada.";
}
?>

Salve isso como "check_zip.php" e execute-o no seu navegador ou linha de comando para confirmar a instalação.

Métodos Alternativos para Instalar a Extensão PHP Zip

Usando PECL (PHP Extension Community Library)

O PECL oferece outra maneira de instalar extensões PHP. Para usar o PECL para instalar a extensão ZIP:

  1. Instale o PECL:

    sudo yum install php-pear
  2. Instale a extensão ZIP através do PECL:

    sudo pecl install zip
  3. Adicione a extensão à sua configuração PHP:

    echo "extension=zip.so" | sudo tee -a /etc/php.ini
  4. Reinicie seu servidor web para aplicar as mudanças.

Compilando a partir do Código-fonte

Você pode compilar a extensão ZIP a partir do código-fonte:

  1. Baixe o código-fonte:

    wget https://pecl.php.net/get/zip-1.19.3.tgz
  2. Extraia o arquivo:

    tar -xzvf zip-1.19.3.tgz
  3. Vá para o diretório extraído:

    cd zip-1.19.3
  4. Prepare o ambiente de compilação:

    phpize
  5. Configure a compilação:

    ./configure
  6. Compile e instale:

    make
    sudo make install
  7. Adicione a extensão à sua configuração PHP:

    echo "extension=zip.so" | sudo tee -a /etc/php.ini
  8. Reinicie seu servidor web para aplicar as mudanças.

Substitua "1.19.3" pela versão que você deseja instalar.

Solução de Problemas Comuns

Problemas com Repositórios

Você pode enfrentar problemas com repositórios de pacotes ao tentar instalar a extensão PHP Zip. Para corrigir isso:

  1. Atualize suas listas de repositórios:

    sudo yum clean all
    sudo yum update
  2. Se o sistema não conseguir encontrar o pacote PHP Zip, adicione o repositório EPEL:

    sudo yum install epel-release
    sudo yum update

Após adicionar o EPEL, tente instalar a extensão PHP Zip novamente.

Conflitos de Dependências

Você pode encontrar conflitos de dependências ao instalar a extensão PHP Zip. Para corrigir isso:

  1. Verifique dependências conflitantes ou ausentes:

    sudo yum deplist php-zip
  2. Se houver dependências ausentes, instale-as:

    sudo yum install [nome-do-pacote]
  3. Atualize os pacotes do seu sistema:

    sudo yum update
  4. Se ainda tiver problemas, tente instalar a extensão PHP Zip com a opção "--skip-broken":

    sudo yum install php-zip --skip-broken

Esta opção permite que o yum ignore pacotes que possam causar problemas de dependência.