J'ai un problème lorsque j'installe 'Archive_Zip 0.1.1' sur un serveur Linux, mais lorsque j'essaye d'exécuter le script pour créer le fichier zip, cela donne l'erreur fatale
Erreur fatale: classe
ZipArchive
introuvable dans ...
où j'ai mis le code
$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;
mais il ne trouve pas le fichier de classe.
Veuillez me dire la solution. Que dois-je faire pour résoudre le problème? J'ai également mis le php.ini
fichier dans le dossier où se trouve le script, mais cela ne fonctionne pas.
php
zip
ziparchive
Parag Chaure
la source
la source
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'
utilisant ubuntu 14.04 avec php 7.2apt-get install php-zip
.Réponses:
Pour que la
ZipArchive
classe soit présente, PHP doit avoir l' extension zip installée.Consultez cette page pour les instructions d'installation (Linux et Windows).
la source
sudo apt-get install php7.0-zip
sudo apt-get install php7.0-zip
. Ensuite, modifiez le fichier/etc/php/7.0/cli/php.ini
(dans la section "Extensions dynamiques", ajoutez la ligneextension=zip.so
). Cela devrait le résoudredocker-php-ext-install zip
sudo apt-get install php7.0-zip
vous devrez redémarrer le serveur apachesudo systemctl restart apache2
Sur Amazon ec2 avec Ubuntu + nginx + php7, j'ai eu les mêmes problèmes, je les ai résolus en utilisant:
sudo apt-get install php7.0-zip
la source
sudo apt-get install php7.1-zip
pour Ubuntu / php7.1php 7.2
et dit toujoursE: Unable to locate package php7.2-zip E: Couldn't find any package by regex 'php7.2-zip'
Sur le bureau ubuntu, je devais le faire.
Cela a installé la bibliothèque mais j'ai toujours eu la même erreur, j'ai donc dû redémarrer apache en utilisant:
et cela a fonctionné.
la source
Tout d'abord, la solution pour serveur distant:
Si vous utilisez cpanel, l' extension zip peut être installée mais pas activée. Vous devez l'activer. Dans ce cas, vous devez aller dans cpanel> section du logiciel interne> cliquez sur la version PHP . Ensuite, trouvez zip et vérifiez-le. Maintenant économisez.
Vous devriez voir comme l'image.
Rafraîchir la page. L'erreur devrait disparaître.
Remarque: si vous ne trouvez pas, contactez le fournisseur du serveur. Ils installeront pour vous.
la source
Je ne le vois pas ici, donc j'aimerais ajouter que sur Debian / Ubuntu, vous devrez peut-être activer l'extension après avoir installé le paquet relatif. Alors:
la source
php7.0-zip
pour PHP 7.Si vous disposez de WHM, c'est plus facile.
Connectez-vous à WHM .
Accédez à EasyApache 4 (ou quelle que soit la version que vous avez) sous l' onglet Logiciel .
Sous Packages actuellement installés, cliquez sur Personnaliser .
Allez dans Extensions PHP , dans le type de recherche " zip " ( sans guillemets ),
vous devriez voir 3 modules
les vérifier tous,
cliquez plusieurs fois sur le bouton bleu pour terminer le processus.
Cela a fonctionné pour moi. Heureusement, j'ai WHM disponible.
la source
Cela a fonctionné
et pas besoin de redémarrer
php7.0-fpm
manuellement.la source
Vous devez également compiler PHP avec le support zip. Le manuel dit ce qui suit:
Il ne suffit pas d'installer simplement les bonnes extensions sur le serveur. Jetez un œil au lien des instructions d'installation Pekka publié plus tôt. Ma réponse n'est qu'une clarification de la sienne.
la source
J'ai eu le même problème avec CentOS et cPanel serveur installé . J'ai installé le package zipArchive via cPanel et je n'ai pas fonctionné comme prévu. Après avoir essayé avec autant de correctifs suggérés partout, juste ce qui suit a fonctionné pour moi.
Trouvez d'abord le nom du package correct avec la commande ci-dessous
Ensuite, utilisez le code ci-dessous.
Dans mon cas, le code correct pour installer zipArchive était
J'ai eu la solution à partir de ce lien. Comment puis-je insérer zipArchive sur PHP 7.2 avec CentOS 7?
Et cette installation a également activé ce package d'une manière ou d'une autre et a également redémarré les services concernés et, une fois l'exécution du code ci-dessus, le problème zipArchive a disparu.
la source
Centos 6
la source
PHP 5.2.0 et supérieur
Systèmes Linux
Pour utiliser ces fonctions, vous devez compiler PHP avec le support zip en utilisant l'option de configuration --enable-zip.
les fenêtres
Les utilisateurs Windows doivent activer php_zip.dll dans php.ini pour pouvoir utiliser ces fonctions.
la source
J'ai rencontré ce problème sur GCP lors du déploiement de wordpress dans l'environnement standard App Engine. Cela l'a résolu:
la source
Pour PHP 7.x
Pour PHP 5.x
Et puis redémarrez le serveur Apache
la source
Pour Centos 7 et PHP 7.3 sur Remi
Recherchez l'extension zip:
Le nom de l'extension est php73-php-pecl-zip.x86_64 . Pour l'installer sur un serveur exécutant une seule version de PHP, supprimez le préfixe php73:
Redémarrez PHP:
Vérifiez les extensions PHP installées:
la source
Pour l'utilisation d'un serveur basé sur CentOS
Activez-le en exécutant:
echo "extension=zip.so" >> /etc/php.d/zip.ini
la source
J'ai eu le même problème et il avait été résolu en utilisant deux lignes de commande:
sudo apt install php-zip
puis redémarrez votre serveur web, pour Apache
sudo service apache2 restart
la source
Essayez d'écrire
\ZIPARCHIVE
au lieu deZIPARCHIVE
.la source
Vous devez vérifier la version PHP
Si la version php est 5.6, vous devez installer php5.7-zip
puis
J'espère que ça aide
la source
1) Vous devriez
require
votre fichier avecZipArchive
fichier.2) Ou utilisez la
__autoload
méthode de la classe. En PHP 5, c'est une excellente méthode __autoload ().http://www.php.net/manual/en/language.oop5.autoload.php
la source