Je ne sais pratiquement rien sur l'installation de packages. J'ai réussi à installer Zend Framework 1 avec yum il y a quelque temps en suivant un tutoriel très spécifique.
Maintenant, j'ai besoin de l'extension PHP intl et je ne sais pas comment l'installer.
J'ai fait
yum list php*intl
et a vu qu'il y en avait un disponible. J'ai donc fait
yum install php-intl
et a obtenu le message d'erreur suivant:
Error: Package: php-intl-5.3.3-14.el6_3.x86_64 (updates)
Requires: php-common = 5.3.3-14.el6_3
Installed: php-common-5.3.17-2.el6.remi.x86_64 (@remi)
php-common = 5.3.17-2.el6.remi
Available: php-common-5.3.3-3.el6_2.8.x86_64 (base)
php-common = 5.3.3-3.el6_2.8
Available: php-common-5.3.3-14.el6_3.x86_64 (updates)
php-common = 5.3.3-14.el6_3
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
Je n'ai pas essayé les suggestions mentionnées dans le message parce que je ne savais pas ce qu'elles feraient et j'ai peur de casser quelque chose. C'est une machine de production et je n'ai pas d'autre machine pour tester. J'ai essayé de trouver un rpm à télécharger qui était la même version que mon PHP, mais je n'ai pas eu de chance.
Que font ces deux suggestions et sont-elles sûres à essayer? Que puis-je faire d'autre pour installer l'extension intl?
Comme vous avez php-commom à partir des dépôts remi, vous devez également obtenir php-intl à partir de remi.
Ajouter --enable-repo
option comme suit:
yum --enablerepo=remi install php-intl
Si vous avez une version supérieure PHP comme 5.6, vous devez activer à la fois remi
et remi-php56
repos pour installer toutes les dépendances supplémentaires:
yum --enablerepo=remi,remi-php56 install php-intl
J'ai réussi à installer INTL via pecl en suivant les étapes suivantes.
1) installez icu & libs:
yum -y install icu libicu libicu-devel
2) paquet php-devel et phpize:
yum -y install php-devel phpize
3) et bien sûr gcc:
yum -y install gcc gcc-cpp gcc-c++
Cela fonctionne pour moi. Ma version PHP est 5.6.12
pour php 7.0 en utilisant
#list all options
$ Sudo yum list php7*intl
#install
$ Sudo yum install php70-intl
Yum génère une erreur car nous tentons de mettre à jour plusieurs packages vers des versions en conflit. Votre sortie yum indique que php-intl nécessite une version spécifique de php-common. Suppression de tous les déchets:
Requires 5.3.3-14
Installed 5.3.17-2
Available 1st Option: 5.3.3-3
Available 2nd Option: 5.3.3-14
Cela nous indique que vous avez déjà installé une version plus récente de php-common (5.3.17-2) que celle autorisée par php-intl.
Je pense que vous avez deux options. (En tant que débutant moi-même, je ne tenterais pas cela sans pratiquer dans un environnement de développement.)
Citant une question similaire sur Super User. "Essayez de supprimer tous les paquets remi php, désactivez le dépôt remi et installez les paquets centos 6 php 5.3.3 par défaut."
yum downgrade php-common
Je ne sais pas si vous rencontrez plus de problèmes de dépendance et devez rétrograder d'autres packages. J'ai trouvé plus de détails ici.
https://www.centos.org/modules/newbb/viewtopic.php?topic_id=40567&forum=56
D'autres sites Stack Exchange présentent des questions similaires.
https://serverfault.com/search?q=centos+error+package (370 résultats)
https://unix.stackexchange.com/search?q=centos+error+package (57 résultats)