14.04 Чистое обновление до ppa: ondrej / php с ppa: ondrej / php5-5.6

Сегодня я прошел обычные обновления серверного пакета и обнаружил, что 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 ( https://stackoverflow.com/questions/37197539/an-issue-after -ppaondrej-php5-deprecation )

Итак, мой вопрос: каков самый чистый способ «переключить» ppas и очистить существующие пакеты, учитывая, что это рабочий сервер? Должен ли я попытаться удалить все пакеты, установленные из предыдущего PPA, и / или удалить PPA из моей системы?

Он еще не находится на главной странице для PPA, но сообщение об обновлении устарело по состоянию на июнь 2016 года, поэтому не очень много времени, чтобы перестроить образ нашего сервера.

Я нашел эту страницу, которая предоставляет инструкции по отключению версии PHP, которую использует Apache: https://dzone.com/articles/php-70-and-56-on-ubuntu

10
задан 23 May 2017 в 15:39

1 ответ

Старое php5-* пакеты coinstallable с новым phpX.Y-* схема, таким образом, первая вещь необходимо сделать, состоит в том, чтобы установить и включить новые пакеты:

Apache 2.4

Необходимо установить новый libapache2-mod-phpX.Y пакеты и затем отключают старый php5 и включают новый имеющий версию модуль, f.e. для PHP 5.6:

sudo apt-get install libapache2-mod-php5.6
sudo a2dismod php5
sudo a2enmod php5.6

NGINX/Apache 2.4 с PHP-FPM

Это еще более просто, просто установите phpX.Y-fpm и измените путь сокета в своей конфигурации веб-сервера к /run/php/phpX.Y-fpm.sock и скопируйте старую конфигурацию, f.e. для PHP 5.6:

sudo apt-get install php5.6-fpm
# now change the socket path in your nginx/apache2 configuration
# and restart the server

При определении большего количества пулов FPM необходимо скопировать старую конфигурацию в новый путь, снова для PHP 5.6:

# keep the new www.conf
sudo mv /etc/php/5.6/fpm/pool.d/www.conf /etc/php/5.6/fpm/pool.d/www-5.6.conf
# copy the old configuration to the new path
sudo cp /etc/php5/fpm/pool.d/* /etc/php/5.6/fpm/pool.d/
sudo update-rc.d php5-fpm disable # or uninstall php5-fpm package
# restart PHP 5.6 FPM to read the new configuration
sudo service php5.6-fpm restart

Теперь, если Вы хотите удалить старые пакеты, Вы могли бы столкнуться с некоторыми проблемами, поскольку могли бы быть пакеты, которые требуют старого php5* имена, Вы могли бы хотеть добавить ppa:ondrej/php5-compat это обеспечивает тонкий слой пакетов совместимости та карта php5-<foo> кому: php5.6-<foo> для основного php5* пакеты:

sudo add-apt-repository ppa:ondrej/php5-compat
sudo apt-get update
sudo apt-get dist-upgrade

Определенно попробуйте это сначала в непродуктивной среде! Хорошая сторона - то, что это удерживает старую конфигурацию /etc/php5 нетронутый, таким образом, можно переместить старые настройки.

После обновления основных пакетов PHP Вы могли бы хотеть к отдыху поиска php5-* пакеты и установка их эквивалент, например.

apt-get install php-apcu # for php5-apcu
apt-get install php-memcached # for php5-memcached

Я подготовлю обновление php5-compat repo, который сделает это отображениями автоматически.

Более актуальный текст, может всегда находиться в PPA DEB.SURY.ORG Wikis.

12
ответ дан 24 May 2017 в 01:39
  • 1
    где найденный как can' t видят его на человечности 16.04? – George Udosen 1 November 2017 в 06:35

Другие вопросы по тегам:

Похожие вопросы: