Как изменить версию php в консоли, версия php на хостинге.

Как изменить версию php в консоли

Если у вас установлено несколько версий php в системе, то при вызове команды php в консоли, будет использоваться одна из них. Иногда необходимо для каких-то скриптов или сервисов управлять версией php в консоли. Я расскажу, как ее изменить.

У меня на сервере Debian установлены 2 версии php — 5.6 и 7.0. Для начала проверим, какая версия используется в данный момент:

Посмотрим, где располагается сам бинарник php:

Оказывается, что /usr/bin/php является символьной ссылкой. Посмотрим, куда она ведет:

Это еще одна символьная ссылка. Смотрим, куда ведет она:

На седьмую версию php. Заменим ее на 5.6, которая у меня установлена по адресу /usr/local/bin/php. Редактируем символьную ссылку:

Проверяем текущую версию php в консоли:

Все получилось. Теперь в консоли по-умолчанию будет использоваться нужная версия php. Можно проверять скрипты, не указывая полный путь к нужной версии.

Можно было поступить и по-другому. При вызове php в консоли, имя проверяется в переменной $PATH. Посмотреть ее значения можно командой:

Директории проверяются в том порядке, как они перечислены. Где будет найдено первое совпадение, тот файл и будет использоваться. В моем случае директория /usr/bin, где жила символьная ссылка на php7.0 стоит раньше, чем /usr/local/bin, где расположена php5.6. Можно было просто поменять местами эти директории в PATH и версия по-умолчанию станет 5.6, так как ее бинарник php будет найден раньше.

Более гибко управлять версиями php в системе можно с помощью программы update-alternatives. Она может делать в том числе и то, что мы сейчас проделали, только автоматически, в зависимости от своих настроек. С ее помощью можно более гибко управлять версиями, задавать приоритеты использования той или иной версии, быстро их переключать в полуавтоматическом режиме.

Мне все это не надо, поэтому не стал сильно разбираться с ее работой, только познакомился с возможностями. Рассказываю о ней в качестве наводки для тех, кому захочется более подробно разобраться в этой теме. Она может быть актуальна, если у вас установлена какая-нибудь панель управления хостингом с разными версиями php. Например — plesk.