Прошло некоторое время с тех пор, как здесь задавали такой вопрос. Возможно, рекомендованное решение изменилось.
У меня есть почтовый сервер CentOS 5.4 с веб-почтой RoundCube. По умолчанию RoundCube ожидает PHP версии 5.2 или выше. CentOS 5 застрял в версии 5.1.6 с резервными портами некоторых функций из 5.2. Я отключил проверку PHP для Roundcube, и она работает хорошо. Однако один из плагинов, который я хотел бы использовать, использует метод, представленный в PHP 5.2.
Из-за привязки PHP и Postgres / MySQL в этом случае, как лучше всего обновить версию PHP с 5.1.6 до 5.2.x? Я видел сторонние репозитории, тестирование CentOS, Fedora ... или я мог скомпилировать из исходников. Я хотел бы поддерживать эту систему в стабильном состоянии, чтобы она не развалилась во время следующего раунда обновлений.
Есть рекомендации?
Я делал это много раз, используя атомарные репо. Проще говоря, в большинстве ситуаций достаточно трех шагов:
wget -q -O - http://www.atomicorp.com/installers/atomic.sh | sh
yum update php
service httpd restart
Я явно не могу гарантировать, что это сработает для вас, но для меня это стало стандартным методом.
Просто установите Remi repo. И беги:
yum update -y
и дождитесь завершения обновлений, затем перезагрузите VPS с помощью init:
init 6
Теперь вы успешно обновили php в своей системе.
Я считаю, что существует ряд решений, и то, что вы выберете, зависит от вашего стиля системного администрирования.
Самый простой способ - установить php и связанные с ним пакеты из другого репозитория, как этот. Положительным моментом является то, что это занимает меньше времени, недостатком является то, что вы доверяете внешнему источнику своих двоичных файлов в своей системе, как для своевременных обновлений, так и для поддержания целостности и безопасности пакетов.
«Сложный» способ - собрать свой собственный. Я говорю, что это «сложно», но на самом деле это не так уж плохо. Что я делаю, так это то, что все команды ./configure сохранены, поэтому, когда выходит новый выпуск, мне просто нужно использовать те же переключатели, чтобы моя среда php была такой же, как и для предыдущих выпусков.
Для систем без суетливых требований я использую rpm-роут (на самом деле 5.1 отлично подходит для этих систем), но для тех, у кого есть пользовательские среды php, я все еще компилирую из исходников.
Еще одним преимуществом самостоятельной компиляции php является то, что вы действительно понимаете и узнаете больше о программном обеспечении и о том, как оно работает на вашем сервере. Вы можете гордиться этим, и это выделит вас среди других системных администраторов!
Я бы сказал, что любой из этих методов МОЖЕТ работать нормально, но вы не узнаете, пока не попробуете его, поэтому вам лучше убедиться, что ваши резервные копии в порядке. При этом обновить php в Linux намного проще, чем в Windows, и я был бы удивлен, если бы у вас возникли проблемы. Предполагая, что ваша установка если не обычная, то, по крайней мере, обычная установка, вы должны быть в порядке с предварительно упакованным RPM.
Возможно запускать разные версии php на одном веб-сервере; к сожалению, вы можете запускать только один как модуль Apache, что заставляет вас возиться с интерфейсом CGI.
Прелесть современных RPM в том, что вы можете откатить установку. Так будет немного проще.
С другой стороны, если вы собираете из исходного кода, вы можете просто собрать его в другом каталоге. Затем все, что вам нужно сделать, это изменить, какой мод загружает php apache, и изменить расположение файла php.ini, и вы без риска обновили текущую конфигурацию.