Bonjour,
Il y a quelques mois, j'avais été obligé de revenir en PHP 7.4 pour pouvoir faire fonctionner Folcomedia Compilateur (FMPackager) en raison d'une erreur bloquante (simple deprecated pourtant). En cochant la case pour ignorer les erreurs lors de la comila, le pack se crée quand même sous PHP 8, je viens de le constater.
Le message bloquant :
En ajoutant le flag de création de l'archive "ZipArchive::CREATE", je pensais résoudre le problème (la ligne d'erreur citée est alors celle de ma modification), mais après vérification dans le manuel PHP en ligne, je vois que la compatibilité PHP 8 existe mais :
Or sur mon site en PHP 8.0.3, libzip est en version 1.5.1 donc l'archive vide devrait être valide. J'ai trouvé sur Stackoverflow la méthode "unlink" qui semble ne plus me poser de problème, avec ce code :
Mais qu'en sera-t-il si libzip passe en 1.6.0 ? Y aurait-il une alternative ?
Merci de vos conseils !
Robert
Il y a quelques mois, j'avais été obligé de revenir en PHP 7.4 pour pouvoir faire fonctionner Folcomedia Compilateur (FMPackager) en raison d'une erreur bloquante (simple deprecated pourtant). En cochant la case pour ignorer les erreurs lors de la comila, le pack se crée quand même sous PHP 8, je viens de le constater.
Le message bloquant :
FMPackager Error:
Deprecated: ZipArchive: Open(): Using empty file as ZipArchive is deprecated in /home/www/developpement/joak8/administrator/components/com_fmpackager/models/fmpackager.php on line 198
Deprecated: ZipArchive: Open(): Using empty file as ZipArchive is deprecated in /home/www/developpement/joak8/administrator/components/com_fmpackager/models/fmpackager.php on line 198
À partir de libzip 1.6.0, un fichier vide n'est plus une archive valide.
$this->tmpZipFile = tempnam(sys_get_temp_dir(), 'ZIP');
$this->tmpEmptyFile = tempnam(sys_get_temp_dir(), 'TMP');
unlink ($this->tmpZipFile);
$this->zip = new ZipArchive();
//$this->zip->open($this->tmpZipFile); /// RRG 11/05/2021
$this->zip->open($this->tmpZipFile, ZipArchive::CREATE);
$this->tmpEmptyFile = tempnam(sys_get_temp_dir(), 'TMP');
unlink ($this->tmpZipFile);
$this->zip = new ZipArchive();
//$this->zip->open($this->tmpZipFile); /// RRG 11/05/2021
$this->zip->open($this->tmpZipFile, ZipArchive::CREATE);
Merci de vos conseils !
Robert
Commentaire