При размещении сайтов на сервере, для них могут потребоваться разные версии PHP. Это связано со спецификой CMS. Например, если одна из систем управления контентом давно не обновлялась и использует более раннюю версию PHP, а другая обновляется часто и требует более свежей версии PHP «под капотом». Бывают случаи, когда CMS просто не поддерживает те или иные особенности версии PHP и отказывается запускаться на ней.
Как корректно настроить на сервере альтернативные версии PHP и обойти проблемы, рассказываю в этой статье.
Ручная установка, настройка и выбор версии 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
После её выполнения можно увидеть подобный список версий и их статус. Например:
Selection | Path | Priority | Status |
---|---|---|---|
*0 | /usr/bin/php5.6 | 56 | auto mode |
1 | /usr/bin/php7.4 | 74 | manual mode |
2 | /usr/bin/php8.0 | 80 | manual mode |
В этом примере символ * (звёздочки) указывает на выбранную в текущий момент версию PHP на сервере — 5.6.
Для смены версии система предложит выбор: нажать Enter, чтобы оставить выбранной текущую версию, либо указать цифру необходимой версии (из перечисленных в списке выше) и нажать Enter:
Press
В примере будет выбрана и установлена по умолчанию 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, не задумываясь о том, установлен ли необходимый репозиторий, настроить необходимую версию PHP и установить или отключить для неё требуемые расширения. Отключение расширений может потребоваться в случае конфликта с другим установленным на сервере программным обеспечением. Подробнее управление PHP описано в документации:Работа с PHP в ISPmanager
Я работаю с PHP через ISPmanager не только когда нужна настройка альтернативных версий. В следующий раз расскажу, как использую панель для загрузки через PHP большого объема данных и установки расширений.
ISPmanager для управления веб-сервером
Попробовать ISPmanager можно бесплатно на две недели. Панель упрощает администрирование веб-серверов и работу с сайтами. Например, вместо ручного конфигурирования Apache или Nginx или установки языков, достаточно выбрать настройки в интерфейсе — ISPmanager выполнит все настройки автоматически.
Нас читает уже более 35 000 человек
Подпишитесь и получите скидку 10% на ispmanager!
Выбирайте интересное вам: новости ispmanager, подборка статей для начинающих веб-специалистов, всё для матёрых разработчиков или предложите свой вариант рассылки
Благодарим за интерес к рассылке от ispmanager!
На ваш почтовый адрес: отправлено письмо с просьбой подтвердить свой email.
Сразу после подтверждения почтового адреса мы вышлем вам обещанную скидку за подписку.
*Если вы не получили письмо, пожалуйста, проверьте правильно ли был указан почтовый адрес и попробуйте заполнить форму еще раз.