Главная
Блог
Зачем нужны несколько версий PHP и как их настроить
27 мая 2022
3 минуты
Дмитрий Древко
Дмитрий Древко
Веб-разработчик
Зачем нужны несколько версий PHP и как их настроить

Зачем нужны несколько версий PHP и как их настроить

При размещении сайтов на сервере, для них могут потребоваться разные версии PHP. Это связано со спецификой CMS. Например, если одна из систем управления контентом давно не обновлялась и использует более раннюю версию PHP, а другая обновляется часто и требует более свежей версии PHP «под капотом». Бывают случаи, когда CMS просто не поддерживает те или иные особенности версии PHP и отказывается запускаться на ней.

Как корректно настроить на сервере альтернативные версии PHP и обойти проблемы, рассказываю в этой статье.

Содержание

Ручная установка

Установка с помощью ispmanager

Ручная установка, настройка и выбор версии PHP

Процесс установки PHP на сервер зависит от операционной системы и версии PHP, которую необходимо установить. Все действия выполняются в командной строке. Сначала выполняется базовая установка версии PHP. Затем администратор может установить альтернативные версии PHP и выбрать одну из них в качестве основной.

Базовая установка версии PHP

Базовая установка в наиболее популярных операционных системах выглядит так:

  • В Debian-подобных системах используется команда apt install php;
  • В Centos — yum install php;

Эти команды устанавливают последнюю версию языка, доступную в репозитории.

Если же необходимо установить определённую версию PHP, которой ещё нет в репозитории операционной системы, то сначала надо выполнить две команды:

apt install software-properties-common — команда устанавливает программное обеспечение для управления дистрибутивами и независимыми поставщиками программного обеспечения.

add-apt-repository ppa:ondrej/php — добавляет в систему репозиторий, из которого, непосредственно, будут устанавливаться необходимые версии PHP.

После это можно выполнить команду для установки PHP, например, версии 7.4:
apt install php7.4

Выбор версии PHP для установки её по умолчанию

Когда базовая установка версии PHP выполнена, он по умолчанию становится основной.

Чтобы проверить, какая в данный момент версия PHP установлена и работает по умолчанию, надо выполнить команду: 
php -v

А чтобы сменить версию по умолчанию, воспользуйтесь командой:
update-alternatives --config php

После её выполнения можно увидеть подобный список версий и их статус. Например:

SelectionPathPriorityStatus
*0/usr/bin/php5.656auto mode
1/usr/bin/php7.474manual mode
2/usr/bin/php8.080manual mode

В этом примере символ * (звёздочки) указывает на выбранную в текущий момент версию PHP на сервере — 5.6.

Для смены версии система предложит выбор: нажать Enter, чтобы оставить выбранной текущую версию, либо указать цифру необходимой версии (из перечисленных в списке выше) и нажать Enter: Press <enter> to keep the current choice[*], or type selection number: 1</enter>

В примере будет выбрана и установлена по умолчанию PHP версии 7.4.

Установка расширений

Чтобы установить необходимые расширения для PHP, нужно выполнить команду: apt install php-

Для PHP, который установлен в системе по умолчанию команда такая: apt install php-mysqli

Если версия (например, 7.4) установлена вручную, тогда команда будет такой: apt install php7.4-mysqli

Настройка PHP

Чтобы править настройки конкретной версии PHP, необходимо открыть для редактирования файл php.ini. Он может находиться в разных директориях в зависимости от установленного модуля. А значит, путь, который следует прописать в команде, будет отличаться. Например, для версии PHP 7.4, которая запускается в командной строке, команда выглядит так: nano /etc/php/7.4/cli/PHP.ini

Для модуля apache: nano /etc/php/7.4/apache2/PHP.ini

Для модуля fpm: nano /etc/php/7.4/fpm/PHP.ini

Как видите, чтобы изменить настройки PHP и установить модули, необходимо знать текущую версию PHP и пути установки. Если вы используете панель для управления веб-сервером ispmanager, сложности можно обойти.

Важно: Если у вас на сервере есть ispmanager использовать ручной способ не стоит – можно создать конфликты, и тогда PHP не будет работать как надо. Про ручной способ рассказываю для ознакомления и тех, кто предпочитает работать без панели управления.

Как установку и настройку PHP и его модулей упрощает ispmanager 

При работе через ispmanager не обязательно пользоваться командной строкой для настройки PHP. Установка и настройка PHP находятся в разделе Настройки -> Настройки PHP

Как настройки PHP выглядят в ISPmanager
Раздел в ispmanager с настройками PHP

Здесь можно установить недостающую версию PHP, не задумываясь о том, установлен ли необходимый репозиторий, настроить необходимую версию PHP и установить или отключить для неё требуемые расширения. Отключение расширений может потребоваться в случае конфликта с другим установленным на сервере программным обеспечением. Подробнее управление PHP описано в документации:Работа с PHP в ispmanager 

Я работаю с PHP через ispmanager не только когда нужна настройка альтернативных версий. В следующий раз расскажу, как использую панель для загрузки через PHP большого объема данных и установки расширений.

Ispmanager для управления веб-сервером

Попробовать ISPmanager можно бесплатно на две недели. Панель упрощает администрирование веб-серверов и работу с сайтами. Например, вместо ручного конфигурирования Apache или Nginx или установки языков, достаточно выбрать настройки в интерфейсе — ispmanager выполнит все настройки автоматически.

Попробовать ispmanager

Подписка на новости
Подпишитесь на новостную рассылку ispmanager и получайте самые лучшие материалы каждую неделю