Я нашел несколько сообщений в блоге об этом, но это скорее отсутствие описания возможных побочных эффектов.
Я мог бы действительно использовать некоторые подробности об этих шагах:
- Как добавить репозиторий с PHP 5.4 в yum
- Может ли это легко заменить текущую версию PHP в CentOS?
- Как я могу вернуться к официальному репо, если он поддерживает PHP 5.4? (текущий 5.3.3 в моей системе)
- Будет ли какой-нибудь потенциал сломать модули PHP, которые я сейчас использую?
Заметка
Люди успешно обновили с помощью того же метода на более новых версиях, и предлагают удалить конкретные версии в вопросе. Несмотря на то, что было бы полезно записывать версии на тот случай, если более новые версии действительно что-то сломают, я бы хотел оставить в записке последнюю успешную версию, предложенную сообществом.
Не стесняйтесь обновить это, если вы успешно обновились на других версиях.
- Версии PHP: 5.4, 5.5, 5.6
- Версия CentOS: 5, 6
yum --enablerepo=remi update
и он заботится обо всех связанных пакетах php, выглядит как лучшее решение. Сервер работает без проблем уже несколько дней, спасибо за всю информацию.php
в список установки, что вызвало у меня много проблем, так как apache не обслуживал php-файлы, поэтому не забудьте добавить это при использованииУлучшение по сравнению с другим ответом Webtatic:
1 Используя руководство на http://www.webtatic.com/packages/php54/ :
2 Сначала вы должны увидеть, какие существующие установленные пакеты нуждаются в замене, вы можете сделать это, используя оболочку yum, чтобы объединить удаление php-common и установку php54w-common в одной транзакции (чтобы общие зависимости не удалялись)
Не говорите «y» для результатов, но обратите внимание на все пакеты, упомянутые в «Удаление для зависимостей», например
Если в этом списке есть другие пакеты, кроме php *, вы не можете легко переключиться на Webtatic PHP 5.4, но вам придется исследовать альтернативы. В Webtatic есть пакеты для замены всех базовых пакетов php (для подтверждения см. Пакеты, перечисленные на странице, на которую ссылается пункт 1.), поэтому проблем не должно быть, если только вы не используете сторонние репозитории, в которых установлены пакеты, зависящие от конкретной версии php установлены.
Для остальной части установки (все еще в оболочке yum) вы просто удаляете эти пакеты и устанавливаете их аналоги php54w- *:
После этого вы должны увидеть только те пакеты, которые вы установили для удаления и установки в списке, и вы можете подтвердить установку для переключения. Любые службы, запущенные в настоящее время с загруженным php, необходимо перезапустить, например httpd или php-fpm.
Что касается «беспрепятственного», любые изменения программного обеспечения, происходящие в то время, когда пользователи имеют доступ к веб-сайту, должны быть полностью поняты. Общие библиотеки, которые удаляются и добавляются, когда процесс еще не загружен, могут потенциально загружаться, пока разделяемая библиотека отсутствует. Лучше делать обновления программного обеспечения, как это в автономном режиме, и желательно сначала протестировать их на непроизводственной машине, чтобы убедиться, что процесс работает должным образом.
3 Чтобы перейти к гипотетическому базовому пакету CentOS php54 (CentOS 5 использовал префикс php53), вы просто запускаете вышеупомянутые шаги, заменяя удаление php удалением php54w, и установку php54w установкой php54, например
Однако, что касается переключения на гипотетическую базу php54, для некоторых пакетов, скорее всего, не будет альтернатив (например, в CentOS 5 не было расширения php53-pecl-memcache), а в Webtatic есть пакеты, которых нет в базе CentOS (например, php54w -pecl-zendopcache). Если они отсутствуют, то обычно у вас нет другого выбора, кроме как напрямую использовать pecl для их установки.
4 Любое обновление PHP может привести к ошибкам, и веб-сайты должны быть проверены повторно. Это не относится только к Webtatic, но общая идея, что новые функции вводят новые ошибки.
В отличие от репозитория Remi в принятом ответе, репозиторий Webtatic EL6 никогда не использует те же имена пакетов, что и базовые репозитории CentOS, поэтому не будет переопределять установку / обновление пакетов, на которые вы не собираетесь переключаться, и поэтому включен по умолчанию.
Отказ от ответственности: я владелец / сопровождающий Webtatic
источник
Вы можете найти php 5.4.9 здесь для установки yum:
http://www.webtatic.com/packages/php54/
Вы можете сделать «rpm -qa | grep php», чтобы увидеть все ваши текущие пакеты php, и «rpm -e», чтобы удалить. Я не знаю ваши текущие модули, но стоит проверить перед обновлением.
источник