Выбор версии PHP CLI на VPS с установленной панелью управления Vesta

2020-09-11 16:33:22


На сегодняшний день Vesta - одна из самых популярных панелей управления Web-сервером и связанным с ним ПО. Она позволяет выбирать нужную версию php для каждого домена.

Но при подключении к VPS через SSH и при выполнении команды php в консоли, как правило выясняется, что по умолчанию выбрана не сама новая версия интерпретатора. Это может привести к тому, что при установке пакетов через composer процесс у вас закончится неудачей, так как по умолчанию версия php не соответствует версии, указанной в composer.json. Или, у вас будут некоррентно работать консольные php скрипты, запускаемые вручную или по планировщику cron.

Покажу на примере как выбрать в качестве версии по умолчанию PHP 7.4 на операционной системе Debian. Выполним 2 команды:


update-alternatives --install /usr/bin/php php /opt/vesta/php74/bin/php 10
update-alternatives --set php /opt/vesta/php74/bin/php

Утилита update-alternatives управляет символическими ссылками для команд. Опция install добавляет новую альтернативу (в данном случае путь к бинарнику php версии 7.4). Число 10 - это приоритет версии. Его можно указать произвольным, так как второй командой мы принудительно укажем нужную нам версию с помощью опции --set.

Для проверки успешности переключения версия выполните команду:

php -v
Если вы все сделали правильно, в результате должна отобразиться выбранная вами версия:

PHP 7.4.7 (cli) (built: Jul  5 2020 20:15:12) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with the ionCube PHP Loader + ionCube24 v10.4.0, Copyright (c) 2002-2020, by ionCube Ltd.
    with Zend OPcache v7.4.7, Copyright (c), by Zend Technologies