Для начала убедитесь что ваш CMS\код\итд совместим с новой версией.

Глянуть текущую версию

php -v

В репах 16ой убунты нет 7.1 и 7.2, убедитесь в этом

sudo apt-cache policy php

Посмотреть какие пакеты у вас установлены для работы с php7.0

dpkg -l | grep php7.0

Копируйте, заменяйте версию на 7.1. Надо все эти пакеты будет установить с новой версией

Добавляем репу, где есть всё для 7.1 (даже 7.2):

sudo add-apt-repository ppa:ondrej/php

sudo apt update

Проверьте что новая версия теперь доступна

sudo apt-cache policy php

Есть? Ставим 7.1 и все пакеты php7.1-*, которые необходимы вам. У меня такой список

sudo apt install php7.1-cli php7.1-common php7.1-curl php7.1-fpm php7.1-gd php7.1-json php7.1-mbstring php7.1-mcrypt php7.1-mysql php7.1-opcache php7.1-readline php7.1-xml php7.1-xmlrpc php7.1-zip

Теперь поправьте конфиги nginx, часть с php. Обычнейший пример:

Было

location ~ \.php$ {
        include snippets/fastcgi-php.conf;

        # With php7.0-fpm:
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
                }

Стало

location ~ \.php$ {
        include snippets/fastcgi-php.conf;

        # With php7.1-fpm:
        fastcgi_pass unix:/run/php/php7.1-fpm.sock;
                }

Просим nginx перечитать конфиги

sudo nginx -s reload

Проверим версию php

php -v

И для того, что бы проверить что сайт использует правильную версию, создайте файл test.php в корне каталога с сайтом, со следующим содержанием:

<?php
phpinfo()
?>

Откройте через браузер https://example.com/test.php и видим используемую версию

php info

Если вы вносили изменения в конфиги php, не забудьте их перенести. Удаляем php7.0-*

sudo apt purge php7.0-cli php7.0-common php7.0-curl php7.0-fpm php7.0-gd php7.0-json php7.0-mbstring php7.0-mcrypt php7.0-mysql php7.0-opcache php7.0-readline php7.0-xml php7.0-xmlrpc php7.0-zip

Мой телеграм-канал .