Если вы установили панель управления хостингом VestaCP на Linux Ubuntu 18.04 и решили обновить PHP до последней версии, то эта статья для вас.
Как обновить PHP 7.2 до PHP 7.4 и PHP 8.0 в VestaCP
Для начала установки добавьте репозитории:
add-apt-repository ppa:ondrej/php
add-apt-repository ppa:ondrej/apache2
Далее мы установим PHP 7.4, используя команду:
apt install php7.4
Затем мы установим пакеты которые могут пригодиться при работе с PHP 7.4 :
apt install php7.4-common php7.4-mysql php7.4-xml php7.4-xmlrpc php7.4-curl php7.4-gd php7.4-imagick php7.4-cli php7.4-dev php7.4-imap php7.4-mbstring php7.4-opcache php7.4-soap php7.4-zip php7.4-intl
Следующим шагом нам нужно деактивировать текущую версию PHP 7.2 в VestaCP, выполнив команду:
a2dismod php7.2
Далее активируем версию PHP 7.4:
a2enmod php7.4
Теперь вам нужно перезапустить apache2:
systemctl restart apache2
Сейчас т.к мы деактивировали старую версию и активировали - новую, нам нужно удалить старую версию:
apt remove php7.2* apt autoremove
Нам нужно установить 2 дополнительных расширения, которые используются на многих веб-сайтах и серверах использующих облачные технологии. Это gmp и bcmath. Следующая команда активирует их:
apt install php7.4-bcmath php7.4-gmp
Теперь перезапустите apache2 еще раз.
systemctl restart apache2
Далее на вашем веб-сайте, перейдите в папку public_html(или аналогичную папку в которой находится публичная часть сайта) и командой nano php.php создайте файл и вставьте туда:
<?php phpinfo(); ?>
Теперь откройте страницу вашего сайта php.php(например ваш_домен.ру/php.php) и вы должны увидеть что используется PHP 7.4. Если версии PHP 7.4 вам достаточно, то установка окончена. Однако, если вы хотите установить PHP 8.0, то вам следует выполнить следующие шаги.
Далее мы установим PHP 8.0 но мы не будем ее активировать так как еще не все вебсайты и CMS могут поддерживать версию PHP 8.0. Приступим к установке PHP 8.0:
apt install php8.0 apt install php8.0-common php8.0-mysql php8.0-xml php8.0-curl php8.0-gd php8.0-imagick php8.0-cli php8.0-dev php8.0-imap php8.0-mbstring php8.0-opcache php8.0-soap php8.0-zip php8.0-intl
В данный момент установка PHP 8.0 завершена. Если вы решили использовать PHP 8.0 вместо версии PHP 7.4, вам нужно деактивировать PHP 7.4 и включить PHP 8.0 и затем перезапустить apache2 :
a2dismod php7.4 a2enmod php8.0 systemctl restart apache2
Добавлю что PHP 8.0 может не требовать активации командой: a2enmod php8.0
поэтому это нормально если вы получите ошибку, запустив ее. Получив такую ошибку - можете спокойно игнорировать ее и приступить к использованию PHP 8.0.
Также обратите внимание что в папке сайта присутствует файл php.php который мы создали используя Nano. Вам нужно удалить его в целях безопасности, пройдя в ту директорию сайта и запустив команду rm php.php -f
.