Сегодня я прошел обычные обновления серверных пакетов и обнаружил, что ppa:ondrej/php5-5.6
они устарели, и теперь мы должны перейти на ppa:ondrej/php
.
Основные предоставленные инструкции для запуска:
sudo add-apt-repository ppa:ondrej/php
А потом:
sudo apt-get update
sudo apt-get upgrade --show-upgraded
Глядя на новый репозиторий, кажется, что имена не совпадают полностью, поэтому я думаю, что мне нужно будет выполнить некоторые установки apt-get, чтобы установить все нужные пакеты. Также представляется, что подпакеты (то есть php-gd) будут установлены для всех версий php, а также могут установить php 5.5 и php 7.0 ( /programming/37197539/an-issue-after-ppaondrej- php5-амортизация )
Итак, мой вопрос, каков самый чистый способ «переключить» ppas и очистить существующие пакеты, учитывая, что это рабочий сервер? Должен ли я попытаться удалить все пакеты, установленные из предыдущего PPA, и / или удалить PPA из моей системы?
Его еще нет на главной странице PPA, но сообщение об обновлении было объявлено устаревшим по состоянию на июнь 2016 года, поэтому для перестройки образа нашего сервера у нас не очень много времени.
Я нашел эту страницу, которая предоставляет инструкции по отключению версии PHP, которую использует Apache: https://dzone.com/articles/php-70-and-56-on-ubuntu
Ответы:
Старые
php5-*
пакеты совместимы с новойphpX.Y-*
схемой, поэтому первое, что вам нужно сделать, это установить и включить новые пакеты:Apache 2.4
Вам нужно установить новые
libapache2-mod-phpX.Y
пакеты, а затем отключить старый php5 и включить новый версионный модуль, например, для PHP 5.6:NGINX / Apache 2.4 с PHP-FPM
Это еще проще, просто установите
phpX.Y-fpm
и измените путь к сокету в конфигурации вашего веб-сервера/run/php/phpX.Y-fpm.sock
и скопируйте старую конфигурацию, например, для PHP 5.6:Если вы определили больше пулов FPM, вам нужно скопировать старую конфигурацию в новый путь, снова для PHP 5.6:
Теперь, если вы хотите удалить старые пакеты, вы можете столкнуться с некоторыми проблемами, так как могут быть пакеты, которые требуют старых имен php5 *, вы можете захотеть добавить,
ppa:ondrej/php5-compat
которые предоставляют тонкий слой пакетов совместимости, которыеphp5-<foo>
соответствуютphp5.6-<foo>
основным пакетам php5 *:Обязательно попробуйте сначала в непроизводственной среде! Хорошая сторона заключается в том, что при этом старая конфигурация остается
/etc/php5
неизменной, поэтому вы можете перенести старые настройки.После обновления основных пакетов PHP вы можете поискать остальные
php5-*
пакеты и установить их эквиваленты, напримерЯ подготовлю обновление для php5-compat repo, которое автоматически сделает это сопоставление.
Более актуальный текст всегда можно найти в вики- сайте DEB.SURY.ORG PPA .
источник
dpkg --get-selections | grep php
чтобы перечислить все текущие пакеты, чтобы помочь людям отображать вещи (хотя отображение ppa будет очень полезным, если вам не нужно будет это делать, и пусть это просто работает.) Это также может быть хорошо включитьsudo add-apt-repository --remove ppa:whatever/ppa5-5.6