Первым делом нам необходимо получить список всех установленных пакетов связанных с PHP (php-fpm и его модули), для того чтобы для новой версии PHP восстановить исходное окружение:
# dpkg --list | grep php | awk '/^ii/{ print $2}' php-auth-sasl php-http-request php-mail php-mail-mime php-net-dime php-net-smtp php-net-socket php-net-url php-pear php-soap php5-cli php5-common php5-curl php5-fpm php5-gd php5-imap php5-json php5-mysql php5-pgsql php5-readline php5-xsl
Или можно все сразу в строку для дальнейшей передачи в apt-get install:
# dpkg --list | grep php | awk '/^ii/{ print $2}' | tr "\n" " "
Следующим этапом подключаем репозитарий с новыми версиями PHP:
# apt install ca-certificates apt-transport-https # wget -q https://packages.sury.org/php/apt.gpg -O- | sudo apt-key add - # echo "deb https://packages.sury.org/php/ jessie main" | tee /etc/apt/sources.list.d/php.list # apt-get update
Устанавливаем соответствующие пакеты, но с PHP версии 7.2:
# aptitude install php7.2-cli php7.2-common php7.2-curl php7.2-fpm php7.2-gd \ php7.2-imap php7.2-json php7.2-mysql php7.2-pgsql php7.2-readline php7.2-xsl
Редактируем все конфигурационные файлы виртуальных хостов заменяя /var/run/php5-fpm.sock на /var/run/php/php7.2-fpm.sock. Так же, естественно, что вам так же потребуется перенести параметры PHP-окружения (у меня они обычно заданны в файлах конфигурации виртуальных хостов).
Посмотреть текущие переменные окружения можно командой:
# cat /etc/php/7.2/fpm/php.ini | grep -v "^;" | grep -v "^$"