Tenho um problema ao instalar o 'Archive_Zip 0.1.1' no servidor Linux, mas quando tento executar o script para criar o arquivo zip, ele gera o erro fatal
Erro fatal: Classe
ZipArchive
não encontrada em ...
onde eu coloquei o código
$zip = new ZipArchive;
var_dump($zip);
$res = $zip->open($filename, ZipArchive::OVERWRITE);
if ($res !== TRUE) {
echo 'Error: Unable to create zip file';
exit;
}
if (is_file($src)) {
$zip->addFile($src);
} else {
// echo "<br>" . dirname(__FILE__) . $src;//'/install1';
if (!is_dir($src)) {
$zip->close();
@unlink($filename);
echo 'Error: File not found';
exit;
}
recurse_zip($src, $zip, $path_length);
}
$zip->close();
echo "<br>file name ".$filename;
mas não encontra o arquivo de classe.
Por favor me diga a solução. O que devo fazer para resolver o problema? Também coloquei o php.ini
arquivo na pasta onde está o script, mas não funciona.
php
zip
ziparchive
Parag Chaure
fonte
fonte
sudo apt-get install php7.2-zip
E: Unable to locate package php7.2-zip E: Couldn't find any package by regex 'php7.2-zip'
usando ubuntu 14,04 com php 7,2apt-get install php-zip
.Respostas:
Para a
ZipArchive
classe estar presente, o PHP precisa ter a extensão zip instalada.Consulte esta página para obter instruções de instalação (Linux e Windows).
fonte
sudo apt-get install php7.0-zip
sudo apt-get install php7.0-zip
. Em seguida, edite o arquivo/etc/php/7.0/cli/php.ini
(na seção "Extensões dinâmicas", adicione a linhaextension=zip.so
). Isso deve resolver o problemadocker-php-ext-install zip
sudo apt-get install php7.0-zip
você precisará reiniciar o servidor apachesudo systemctl restart apache2
No Amazon ec2 com Ubuntu + nginx + php7, tive os mesmos problemas, resolvi-o usando:
sudo apt-get install php7.0-zip
fonte
sudo apt-get install php7.1-zip
para Ubuntu / php7.1php 7.2
e sempre dizE: Unable to locate package php7.2-zip E: Couldn't find any package by regex 'php7.2-zip'
Na área de trabalho do ubuntu, eu tinha que fazer.
Isso instalou a biblioteca, mas eu continuava recebendo o mesmo erro, então tive que reiniciar o apache usando:
e funcionou.
fonte
Primeiro de tudo, a solução para servidor remoto:
Se você estiver usando o cpanel, poderá ter a extensão zip instalada, mas não ativada. Você precisa ativá-lo. Nesse caso, você precisa ir para cpanel> seção de software>> clicar na versão PHP . Em seguida, encontre o zip e verifique. Agora salve.
Você deve ver como a imagem.
Atualizar a página. O erro deve desaparecer.
Nota: Se você não encontrou, entre em contato com o provedor do servidor. Eles serão instalados para você.
fonte
Não estou vendo aqui, então gostaria de acrescentar que no Debian / Ubuntu você pode precisar habilitar a extensão após a instalação do pacote relativo. Assim:
fonte
php7.0-zip
para PHP 7.Se você tem o WHM disponível, é mais fácil.
Faça login no WHM .
Vá para EasyApache 4 (ou qualquer outra versão que você tenha) na guia Software .
Em Pacotes atualmente instalados, clique em Personalizar .
Vá para extensões PHP , no tipo de pesquisa " zip " ( sem aspas ),
você deve ver 3 módulos
verifique todos eles,
clique no botão azul algumas vezes para concluir o processo.
Isso funcionou para mim. Felizmente eu tenho WHM disponível.
fonte
Isso funcionou
e não há necessidade de reiniciar
php7.0-fpm
manualmente.fonte
Você também precisa compilar o PHP com suporte a zip. O manual diz o seguinte:
Não basta instalar as extensões corretas no servidor. Dê uma olhada no link de instruções de instalação que Pekka postou anteriormente. Minha resposta é apenas um esclarecimento dele.
fonte
Eu tive o mesmo problema com o CentOS e o cPanel servidor instalado . Instalei o pacote zipArchive via cPanel e não funcionou conforme o esperado. Depois de tentar com tantas correções sugeridas em todos os lugares, apenas o abaixo funcionou para mim.
Primeiro, encontre o nome do pacote correto com o comando abaixo
Em seguida, use o código abaixo.
No meu caso, o código correto para instalar o zipArchive foi
Eu tive a solução deste link. Como posso instalar o zipArchive no PHP 7.2 com o CentOS 7?
E essa instalação de alguma forma também habilitou esse pacote e também reiniciou os serviços afetados e após a conclusão da execução do problema do zipArchive do código acima ter desaparecido.
fonte
Centos 6
fonte
PHP 5.2.0 e posterior
Sistemas Linux
Para usar essas funções, você deve compilar o PHP com suporte a zip usando a opção --enable-zip configure.
janelas
Os usuários do Windows precisam ativar o php_zip.dll dentro do php.ini para usar essas funções.
fonte
Eu enfrentei esse problema no GCP ao implantar o wordpress no ambiente do App Engine Standard. Isso resolveu:
fonte
Para PHP 7.x
Para PHP 5.x
E, em seguida, reinicie o servidor Apache
fonte
Para Centos 7 e PHP 7.3 no Remi
Procure a extensão zip:
O nome da extensão é php73-php-pecl-zip.x86_64 . Para instalá-lo no servidor executando a versão única do PHP, remova o prefixo php73:
Reinicie o PHP:
Verifique as extensões PHP instaladas:
fonte
Para uso do servidor baseado no CentOS
Habilite-o executando:
echo "extension=zip.so" >> /etc/php.d/zip.ini
fonte
Eu tive o mesmo problema e ele resolveu usando duas linhas de comando:
sudo apt install php-zip
depois reinicie o servidor da web, para o Apache
sudo service apache2 restart
fonte
Tente escrever em
\ZIPARCHIVE
vez deZIPARCHIVE
.fonte
Você precisa verificar a versão do PHP
Se a versão do php for 5.6, será necessário instalar o php5.7-zip
e depois
Espero que ajude
fonte
1) Você deve o
require
seu arquivo com oZipArchive
arquivo.2) Ou use o
__autoload
método de classe. No PHP 5, é um método greate __autoload ().http://www.php.net/manual/en/language.oop5.autoload.php
fonte