Je rencontre des problèmes pour mettre à jour le CMS d'octobre:
Échec de la mise à jour "Classe 'ZipArchive' introuvable" à la ligne 51 de /var/www/html/jdd/htdocs/vendor/october/rain/src/Filesystem/Zip.php
Et si je fais php -m, j'obtiens l'avertissement suivant:
Avertissement PHP: Démarrage PHP: Impossible de charger la bibliothèque dynamique 'zip.so' (essayé: /usr/lib64/php/modules/zip.so (/usr/lib64/php/modules/zip.so: symbole non défini: zip_libzip_version) , /usr/lib64/php/modules/zip.so.so (/usr/lib64/php/modules/zip.so.so: impossible d'ouvrir le fichier d'objet partagé: aucun fichier ou répertoire de ce type)) dans Inconnu à la ligne 0
Chose étrange, dans mon dossier /etc/php.d/, le fichier zip.ini contient la ligne: extension = zip.so. alors que tous les autres fichiers .ini de /php.d n'incluent pas l'extension ".so" (par exemple: pour le fichier json.ini, la ligne se lit comme suit: extension = json). J'ai essayé de supprimer le ".so" de l'extension zip.ini = ligne, mais cela ne fonctionnera toujours pas.
Pour autant que je sache, le système exécute uniquement des exécutables x86_64 (comment puis-je vérifier cela avec une certitude absolue - tous les binaires sont affichés sous la forme .x86_64 ou .noarch?).
J'ai essayé d'autres versions de php: -php 5.4 installe zip.so très bien (il se charge correctement), sauf qu'en octobre, il faut au moins php 7.0. -php 7.0 à 7.3 installent tous zip.so, mais l'extension ne se charge toujours pas.
Quelqu'un peut-il aider?
3 Réponses :
Veuillez vérifier que vous utilisez la dernière version de libzip5 1.5.1 du référentiel remi-safe (qui est obligatoire et activé par défaut)
Remi, j'ai essayé un autre référentiel avec succès. Je dois avoir en quelque sorte désactivé le repo ou manqué de l'activer. Je ne sais pas si c'était le problème ou non, - Cela aurait-il pu créer le problème?
Je vérifierai lors de la prochaine installation de PHP si c'était la raison, mais pour l'instant, je vais continuer avec ce que j'ai réussi à installer. Merci!
J'ai le même problème et j'ai trouvé la solution suivante:
yum list installed | grep php*
rpm -ql php72-php-pecl-zip
/etc/opt/remi/php72/php.d/40-zip.ini /opt/remi/php72/root/usr/lib64/php/modules/zip.so # <---- /opt/remi/php72/root/usr/share/doc/pecl/zip
ln -s /opt/remi/php72/root/usr/lib64/php/modules/zip.so /usr/lib64/php/modules/zip.so
Après ces étapes, j'ai enfin vu l'extension zip dans la sortie php -m
et ZipArchive
peux maintenant utiliser la classe ZipArchive
.
Vous devriez également probablement redémarrer votre service httpd.
Désolé, mais ce n'est pas la bonne solution. Voir blog.remirepo.net/pages/English-FAQ#scl (donc php-pecl-zip vs php72-php-pecl-zip)
1 - Téléchargez manuellement la dernière bibliothèque ZIP pecl sur https://pecl.php.net/package/zip
2 - Installez-le avec pecl dans le fichier téléchargé
extension=zip
3 Activez le zip sur php.ini
sudo pecl install zip-1.19.1.tgz
D'accord, j'ai compris que l'extension de fichier du nom de l'objet partagé PHP est maintenant laissée de côté avec PHP 7.3, donc aucune erreur dans mes fichiers php.d / .ini. Toujours coincé avec le problème d'un zip.so installé, mais non reconnu.