На момент написания этой статьи, во время установки VestaCP на CentOS 7 устанавливался php 5.6. Уже давно вышла новая версия php 7 и у вас может возникнуть желание использовать именно ее. К сожалению, непосредственно панель vestacp не предоставляет удобной возможности установки и выбора различных версий php.
Если вы используете связку apache + php, можете воспользоваться готовыми скриптами, которые сами установят разные версии php и внесут изменения в интерфейс Весты так, что вы сможете выбирать нужную вам версию. Ссылки для Debian/Ubuntu и CentOS. К сожалению, для nginx + php-fpm готовых решений нет.
Для установки php 7 в vesta cp мы пойдем своим путем и просто установим в систему новую версию php. Чтобы быстро узнать, какая версия php у вас установлена, выполните в консоли сервера команду:
# php -v PHP 5.6.31 (cli) (built: Jul 6 2017 08:06:11) Copyright (c) 1997-2016 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
Останавливаем службы веб сервера:
# service nginx stop # service php-fpm stop
Добавляем дополнительные репозитории:
# wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm # wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm # rpm -Uvh remi-release-7.rpm epel-release-latest-7.noarch.rpm # yum --enablerepo=remi update remi-release
Удаляем текущую версию php:
# yum remove php php-fpm
Устанавливаем php7.1 на vestacp:
yum --enablerepo=remi-php71 install php71-php php71-php-pear php71-php-bcmath php71-php-pecl-jsond-devel php71-php-mysqlnd php71-php-gd php71-php-common php71-php-fpm php71-php-intl php71-php-cli php71-php php71-php-xml php71-php-opcache php71-php-pecl-apcu php71-php-pecl-jsond php71-php-pdo php71-php-gmp php71-php-process php71-php-pecl-imagick php71-php-devel php71-php-mbstring
Создаем символьную ссылку для новой версии php:
# rm -f /usr/bin/php # ln -s /usr/bin/php71 /usr/bin/php
Создадим символьную ссылку на папку с конфигурациями php-fpm, которые генерирует vesta. Версия php71-php-fpm хранит свои конфиги в /etc/opt/remi/php71/php-fpm.d. Сделаем туда ссылку из старой директории с php-fpm.
# ln -s /etc/php-fpm.d /etc/opt/remi/php71/php-fpm.d
Теперь изменим некоторые вещи в самой весте. Открываем конфиг /usr/local/vesta/conf/vesta.conf и меняем параметр:
WEB_BACKEND='php71-php-fpm'
Переименовываем пару папок в составе весты:
# cd /usr/local/vesta/data/templates/web # mv php-fpm php71-php-fpm # cd /usr/local/vesta/data/templates/web/nginx # mv php-fpm php71-php-fpm
После этих преобразований, запускаем наши сервисы и добавляем новую версию php-fpm в автозагрузку:
# systemctl start nginx # systemctl start php71-php-fpm # systemctl enable php71-php-fpm
Теперь можно создать тестовый файл phpinfo и проверить версию php. Еще раз отмечаю, что эти преобразования очень рискованны. Вы должны четко понимать, что делаете. Так как эти изменения не поддерживаются авторами панели, больше вы не сможете ее обновлять автоматически.
Можно было бы пойти другим путем, и заменить не конфиги весты, заменяя версию php-fpm, а в системе переименовать php71-php-fpm в обычный php-fpm. Тогда бы не пришлось изменять настройки самой весты. Но в таком случае вы не сможете автоматически обновлять сам php-fpm. Я в этом случае решил, что php-fpm обновлять важнее, чем весту, поэтому изменил последнюю.
Материалы взяты с сайта https://serveradmin.ru/