249 votes

Erreur fatale : La classe 'ZipArchive' n'a pas été trouvée dans

J'ai un problème : j'ai installé 'Archive_Zip 0.1.1' sur un serveur Linux, mais lorsque j'essaie d'exécuter le script pour créer le fichier zip, l'erreur fatale suivante se produit

Erreur fatale : Classe ZipArchive introuvable dans ...

où je mets 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 m'indiquer la solution. Que dois-je faire pour résoudre le problème ? J'ai également mis php.ini dans le dossier où se trouve script, mais cela ne fonctionne pas.

284voto

Pekka 웃 Points 249607

Pour les ZipArchive classe pour être présent, PHP doit avoir l'option extension zip installés.

Voir cette page pour les instructions d'installation (Linux et Windows).

96voto

star18bit Points 1004

Sur Amazon ec2 avec Ubuntu + nginx + php7, j'ai eu les mêmes problèmes, résolus en utilisant :

sudo apt-get install php7.0-zip

46voto

Mubashar Abbas Points 1928

Sur le bureau ubuntu, j'ai dû faire.

sudo apt-get install php5.6-zip

Cela a installé la bibliothèque mais je continuais à obtenir la même erreur, j'ai donc dû redémarrer apache en utilisant :

sudo service apache2 restart

et cela a fonctionné.

27voto

lorenzo-s Points 6494

Je ne le vois pas ici, donc j'aimerais ajouter que sous Debian/Ubuntu, vous pouvez avoir besoin de permettre l'extension après l'installation du paquet relatif. Ainsi :

sudo apt-get install php-zip
sudo phpenmod zip
sudo service apache2 restart

25voto

Tout d'abord, la solution pour le serveur à distance :

Si vous utilisez cpanel il se peut que l'extension zip soit installée mais non activée. Vous devez l'activer. Dans ce cas, vous devez aller dans cpanel > dans la section logiciel > cliquez sur version PHP . Trouvez ensuite fermeture éclair et le vérifier. Sauvegardez maintenant.

Vous devriez voir l'image suivante. enter image description here

Actualiser la page. L'erreur devrait disparaître.

Note : Si vous ne trouvez pas, contactez votre fournisseur de serveur. Il l'installera pour vous.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X