У меня возникли проблемы с установкой PHP 5.5.13 (последняя стабильная сборка) на машину с CentOS 6.5 (64 бит) через yum
.
Насколько я могу судить, он не является частью репозиториев CentOS, EPEL или REMI. Я получаю 5.4.29 с любым из этих репозиториев.
решение1
С такими дистрибутивами, как RHEL и CentOS, у них обычно 7-10-летний срок службы, сложно поддерживать их в актуальном состоянии с последними версиями. Ваши единственные варианты:
- обойтись без него
- соберите его из исходников самостоятельно
- используйте сторонний репозиторий, предоставляющий альтернативные пакеты
Я обычно выбираю #3. Вы можете использовать этот репозиторий для установки 5.5:
Чтобы установить репозиторий:
$ sudo rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
Для установки пакетов:
$ sudo yum install php55w php55w-opcache
Это один из многих сторонних репозиториев, которые предоставляют пакеты таким образом. Всегда проверяйте, что вы согласны использовать эти репозитории, прежде чем просто вскочить и использовать их. Некоторые лучше других, но я никогда не сталкивался с проблемами при использовании их сборок пакетов.
Использование репозитория remi
Этот репозиторий предоставляет пакеты PHP версии 5.5, вам просто нужно знать, как сообщить ему, что это именно то, что вам нужно.
Настройка репозитория, если это еще не сделано
$ sudo wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
$ sudo wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
$ sudo rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm
Это обновит PHP с версии 5.3.3 до PHP 5.4.24 (15 января 2014 г.).
$ sudo yum --enablerepo=remi update -y
Если вам нужна новейшая версия PHP 5.5.x, вам необходимо выполнить следующую команду:
$ sudo yum --enablerepo=remi,remi-php55 update -y
Рекомендации
решение2
Вам не нужны сторонние репозитории, есть SCL: https://wiki.centos.org/AdditionalResources/Repositories/SCL
Вики старая, в настоящее время поддерживает php 5.6. После установки SCL выполните "yum search rh-php56" и вы увидите все пакеты, связанные с php 5.6.
Загвоздка в том, что все пакеты SCL не устанавливаются в обычные каталоги, чтобы они могли сосуществовать с другими версиями. Они устанавливаются в /opt, используя chroot-подобное дерево. Это может быть то, что вам нужно, а может и нет.
решение3
Обычно вы не найдете последние версии программного обеспечения в менеджере пакетов дистрибутива. Если пакет не имеет критических исправлений безопасности, версия, доступная через менеджер пакетов, была обязательной текущей версией, когда релиз перешел в стадию тестированиязаморозить.
Заморозка - В период заморозки разработка тестового дистрибутива блокируется; больше не допускаются автоматические обновления. Только менеджеры по выпуску затем уполномочены изменять пакеты в соответствии с их собственными критериями. Цель состоит в том, чтобы предотвратить появление новых ошибок путем внедрения новых версий; только тщательно проверенные обновления разрешаются, когда они исправляют существенные ошибки.
Вам придется либо собрать php
из исходников, либо создать свой собственный rpm/repo, либо найти третью сторону, которая уже собрала rpm и делает его доступным.