Ответ 1
Поскольку у вас есть php-commom из remi-репозиториев, вам также нужно получить php-intl из remi.
Добавьте --enable-repo
вариант следующим образом:
yum --enablerepo=remi install php-intl
Я ничего не знаю об установке пакетов. Мне удалось установить Zend Framework 1 с yum некоторое время назад, следуя очень конкретному учебнику.
Теперь мне нужно расширение PHP intl, и я не могу понять, как его установить.
Я сделал
yum list php*intl
и увидел, что есть один доступный. Поэтому я сделал
yum install php-intl
и получил следующее сообщение об ошибке:
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
Я не пробовал предложения, упомянутые в сообщении, потому что я не знал, что они будут делать, и я боюсь что-то сломать. Это производственная машина, и у меня нет другой машины для тестирования. Я попытался найти rpm для загрузки, которая была той же версии, что и мой PHP, но не повезло.
Что делают эти два предложения и можно ли их попробовать? Что еще я могу попытаться установить внутреннее расширение?
Поскольку у вас есть php-commom из remi-репозиториев, вам также нужно получить php-intl из remi.
Добавьте --enable-repo
вариант следующим образом:
yum --enablerepo=remi install php-intl
Если у вас более высокая версия PHP, например, 5.6, вам необходимо включить оба remi
и remi-php56
repos для установки всех дополнительных зависимостей:
yum --enablerepo=remi,remi-php56 install php-intl
Я успешно установил INTL через pecl, выполнив следующие шаги.
1) установить icu и libs:
yum -y install icu libicu libicu-devel
2) php-devel package и phpize:
yum -y install php-devel phpize
3) и, конечно, gcc:
yum -y install gcc gcc-cpp gcc-c++
Это работает для версии me.my php 5.6.12
Yum выдает ошибку, потому что мы пытаемся обновить несколько пакетов до конфликтующих версий. Выход yum говорит, что для php-intl требуется определенная версия php-common. Удаление всего мусора:
Requires 5.3.3-14
Installed 5.3.17-2
Available 1st Option: 5.3.3-3
Available 2nd Option: 5.3.3-14
Это говорит нам, что вы уже установили более позднюю версию php-common (5.3.17-2), чем разрешено php-intl.
Я думаю, у вас есть два варианта. (Как новичок сам, я бы не пытался их без практики в среде разработчиков.)
Цитата из аналогичного вопроса о Суперпользователе. "Попробуйте удалить все пакеты remi php, отключите репозиторий и установите пакеты centos 6 php 5.3.3 по умолчанию".
yum downgrade php-common
Я понятия не имею, если вы столкнетесь с большим количеством проблем с зависимостями и должны отказаться от других пакетов. Я нашел здесь более подробную информацию.
https://www.centos.org/modules/newbb/viewtopic.php?topic_id=40567&forum=56
На других сайтах обмена ссылками отображаются похожие вопросы.
https://serverfault.com/search?q=centos+error+package (370 результатов)
https://unix.stackexchange.com/search?q=centos+error+package (57 результатов)
для PHP 7.0 с использованием
#list all options
$ sudo yum list php7*intl
#install
$ sudo yum install php70-intl