Для чего нужна поддержка нескольких версий PHP на сервере и как их настроить в ISPmanager — Блог ISPsystem
При размещении сайтов на сервере, для них могут потребоваться разные версии 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.
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 to keep the current choice[*], or type selection number: 1
В примере будет выбрана и установлена по умолчанию 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.
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
Раздел в ISPmanager с настройками PHP
Здесь можно установить недостающую версию PHP, не задумываясь о том, установлен ли необходимый репозиторий, настроить необходимую версию PHP и установить или отключить для неё требуемые расширения. Отключение расширений может потребоваться в случае конфликта с другим установленным на сервере программным обеспечением. Подробнее управление PHP описано в документации:Работа с PHP в ISPmanager
Я работаю с PHP через ISPmanager не только когда нужна настройка альтернативных версий. В следующий раз расскажу, как использую панель для загрузки через PHP большого объема данных и установки расширений.
ISPmanager для управления веб-сервером
Попробовать ISPmanager можно бесплатно на две недели. Панель упрощает администрирование веб-серверов и работу с сайтами. Например, вместо ручного конфигурирования Apache или Nginx или установки языков, достаточно выбрать настройки в интерфейсе — ISPmanager выполнит все настройки автоматически.
Попробовать ISPmanager
Обновление версии PHP на сервере
В данной статье мы расскажем, как обновить версию PHP на виртуальном или выделенном сервере ( VPS, VDS, DS ) под управлением самой популярной операционной системы для веб серверов, ОС CentOS.
Предостережения. Сразу хотим предупредить Вас, многие популярные движки требовательны к версиям PHP и набору модулей. Поэтому, перед обновлением PHP на сервере, проверьте совместимость Ваших CMS с новой версией PHP. Обычно эту информацию можно найти на официальных сайтах разработчиков. Некоторые модули могут быть недоступны на более новых версиях PHP. Например Zend Optimizer работает только с версиями php до 5.2, на версии PHP 5.3 используется его аналог, Zend Guard Loader. При этом, если скрипт закодирован с помощью Zend Optimizer, Zend Guard этот скрипт обработать не сможет.
Установка SSH клиента. Вам понадобится SSH доступ к серверу и SSH клиент. Если на Вашем ПК установлена операционная система Linux — SSH клиент Вам не нужен, можете использовать для подключения по SSH стандартный Linux терминал. Владельцам компьютеров с ОС Windows мы рекомендуем использовать SSH\Telnet клиент Putty. Данная программа бесплатна и проста в использовании.Скачать последнюю версию с официального сайта можете по ссылке :
https://the. earth.li/~sgtatham/putty/latest/x86/putty.exe
Подключитесь к Вашему серверу по SSH от имени суперпользователя root или другого пользователя с аналогичными привилегиями. Проверка текущих версий. В первую очередь проверим текущую версию PHP и список модулей. Чтобы узнать версию PHP используйте команду :
php -v
Чтобы просмотреть список модулей, используйте следующую команду :
php -m
Обновление PHP. Для обновления версии PHP, подключитесь к серверу по SSH и используйте следующую команду :
yum update php
Возможно Вам повезет, и yum сразу предложит Вам обновление до нужно версии PHP, но это вряд ли. Скорее всего Вы получите такой ответ :
“No packages marked for update”
Значит нужно добавить репозиторий. Репозиторий – специальное удаленное хранилище, из которого будет установлен пакет. Рассмотрим процесс добавления репозитория и обновления PHP более подробно. Для обновления PHP используйте репозитории epel и remi. Эти репозитории проверенны годами верной работы администраторам виртуальных и выделенных серверов на Unix подобных системах. Из сторонних репозиториев устанавливать пакеты не рекомендуем. Выполнить установку репозитория epel можно такой командой :
yum install epel-release
Чтобы добавить репозиторий remi на CentOS 6 используйте следующие команды :
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
sudo rpm -Uvh remi-release-6*.rpm
Для установки репозитория remi на CentOS 7 используйте такие команды :
wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
sudo rpm -Uvh remi-release-7*.rpm
Теперь можно обновить PHP. Обновите PHP до версии 5.4 с помощью команды :
yum update – -enablerepo=remi php
Если Вам нужно обновление до версии 5. 5, используйте команду :
yum update –enablerepo=remi-php55 php
Если требуется обновление до версии 5.6, используйте команду :
yum update –enablerepo=remi-php56 php
Для обновления до новой ветки PHP 7 используйте такую команду :
yum update –enablerepo=remi-php70
После обновления, обязательно перезагрузите веб сервер. Для этого используйте команду :
service httpd restart
Если на Вашем сервере нет httpd – скорее всего работает связка Nginx + PHP-FPM, тогда перезагрузите PHP-FPM :
service php-fpm restart
Проверьте версию PHP с помощью команды :
php -v
Также рекомендуем сразу установить пакет популярных расширений PHP. Используйте для этого одну из команд (в зависимости от версии PHP) :
yum install –enablerepo=remi php-{mysql,mcrypt,mbstring,gd,xml}
yum update –enablerepo=remi-php55 php-{mysql,mcrypt,mbstring,gd,xml}
yum update –enablerepo=remi-php56 php-{mysql,mcrypt,mbstring,gd,xml}
yum update –enablerepo=remi-php70 php-{mysql,mcrypt,mbstring,gd,xml}
После установки обновлений,еще раз перезагрузите веб сервер. Для этого используйте команду :
service httpd restart
Если на Вашем сервере нет httpd – скорее всего работает связка Nginx + PHP-FPM, тогда перезагрузите PHP-FPM :
service php-fpm restart
Обновление PHP до 7.2 на CentOS 7
Для обновления PHP до версии 7.2 необходимо выполнить следующие команды :
rpm -ivh http://rpms.remirepo.net/enterprise/remi-release-7.rpmyum -y install epel-release yum-utilsyum remove php*yum-config-manager –enable remi-php72yum install php php-xml php-soap php-xmlrpc php-mbstring php-json php-gd php-mcrypt php-common php-fpm php-pdo php-mysqlnd php-imap php-embedded php-ldap php-odbc php-zip php-fileinfo php-process php-opcachesystemctl restart httpd
Если возникнут какие-либо проблемы – откройте тикет из личного кабинета, и наши специалисты обязательно Вам помогут.
Ваш сайт работает на старой версии PHP? Вот как это проверить и что это значит.
Те из вас, у кого есть сайт на WordPress, должны знать одну новую техническую вещь. WordPress использует язык под названием PHP — он установлен и работает на вашем хостинг-сервере.
Вы можете позволить нашим программистам/веб-разработчикам беспокоиться о том, как это работает, но если у вас уже есть веб-сайт – читайте дальше. Это легко!
⠀
Хостинговые компании WordPress должны использовать на своих серверах самую стабильную версию PHP. Новая версия PHP 7.4.8 в два раза быстрее, чем ее предшественники — это необходимо учитывать для повышения производительности и скорости работы вашего веб-сайта. ⠀
Керен обсудила это с нашим ведущим программистом Томом, и ниже приведены вопросы и ответы, которые помогут вам понять важные вещи, например, как проверить вашу версию PHP и что нужно для ее обновления.
Итак, сначала вам нужно узнать, какая последняя, более стабильная версия. Вы можете проверить здесь последнюю версию PHP в любое время: https://en.wikipedia.org/wiki/PHP. И, как уже упоминалось, есть определенные преимущества в скорости, если ваш сайт работает на новейшей стабильной версии.
Итак, теперь вы хотите знать, что у вас есть для вашего веб-сайта, верно? Как говорит Том: «Версия PHP не является общедоступной информацией. Может быть, поэтому быстрый поиск в Google не дал никаких результатов для БЕСПЛАТНОГО онлайн-сервиса, определяющего версию PHP для указанного сайта».
3 способа проверить, какую версию PHP использует ваш сайт.
Информация о версии:
Существует простой способ проверить, не использует ли ваша хостинговая компания более старую версию PHP. Попросите программистов вашего веб-сайта установить плагин WordPress под названием «Информация о версии».
Посетите: https://wordpress.org/plugins/version-info/
После активации плагин покажет, какая версия PHP используется — вы увидите ее в нижней части панели администратора WordPress. Если на вашем веб-сайте используется версия ниже PHP 7, попросите вашего хостинг-провайдера обновить ее для вас. Если они не могут этого сделать, свяжитесь с нами, и мы можем посоветовать!
WPP Analyzer
Существует также платный сервис, который может предоставить список всех технологий, используемых на сайте, включая PHP и его версию. См. https://www.wappalyzer.com/lookup. У них также есть бесплатное расширение Chrome
Однако, если у вашего хостинг-провайдера реализованы строгие правила (а у большинства из них реализованы строгие правила!), версия PHP не будет отображаться.
Спросите своих хостов
Вы также можете отправить электронное письмо своим хостинг-провайдерам и спросить их: «На какой версии PHP работает мой веб-сайт?». Совет — укажите URL-адрес в своей теме, если вы работаете с людьми, это поможет им понять, какой из них, поскольку у них много клиентов!
Какие тесты необходимо выполнить после завершения обновления, чтобы мы знали, что сайт работает?
Каждая новая версия PHP представляет новые функции, изменения синтаксиса, устаревшие вещи. Последние 2 являются наиболее распространенными причинами поломки после обновления версии PHP. Разработчику, скорее всего, придется заняться изменениями синтаксиса здесь и там, заменить устаревшие функции или возможности новыми, то есть ему придется изучать новые вещи.
Обновления плагинов также важны, потому что следует ожидать обновления плагинов для новой версии PHP.
Сколько времени нам потребуется, чтобы выполнить обновление для хостинга TLD?
Обновление версии PHP занимает 5 минут. Обслуживание WP варьируется в зависимости от того, сколько новых вещей есть в новой версии PHP, которые влияют на сайт. Если вы постоянно обновляетесь, скорее всего, обслуживание сайта займет до 30 минут. Однако, если вы обновитесь, скажем, со старой 5.6 до 7.4, это может занять гораздо больше времени (2-4 часа) или даже может быть невозможно обновить. Это особенно важно, если определенные плагины, темы или функции слишком сильно зависят от версии PHP, на которой они были созданы. Например, мы не можем обновить [один из наших клиентов] до PHP 7, потому что их купленная тема несовместима и, вероятно, больше не разрабатывается.
Сколько времени требуется для обновления TLD, если вы размещаете в другом месте (обычно)?
Если мы можем выбрать нужную версию PHP в Панели управления, это легко и занимает 5-10 минут. В противном случае нам нужен хостинг-провайдер для этого. Если вы работаете на выделенном сервере, вам нужно нанять администратора сервера для выполнения такой работы, так как это довольно сложно.
Если они размещают в другом месте, какую информацию / логины им нужно отправить нам?
Данные для входа в панель управления, где мы либо будем искать список выбора версии PHP, либо просто добавим новый справочный билет, чтобы запросить обновление PHP у хостинга. Они либо выполнят переключение, либо перенесут наши файлы на другой сервер с этой версией PHP.
Чем грозит отсутствие последней версии PHP?
Скажу так: самый большой риск — это выбор плохого хостинг-провайдера!
В наши дни хороший хостинг-провайдер может легко построить систему, в которой вы можете переключаться между версиями PHP и выбирать предпочитаемую версию. Или они могут даже реализовать автоматическое обновление PHP, если хотите.
Помимо этого, безопасность и скорость являются наиболее значительными рисками. И, если посмотреть на это с другой стороны, преимущества были бы огромными. Том нашел на Kinsta график, показывающий улучшение скорости работы WP 5.3 на разных версиях PHP.
См. https://kinsta.com/blog/php-benchmarks.
Мы надеемся, что эта статья окажется для вас полезной и, смеем предположить, интересной!
Дайте нам знать, если вам нужна наша помощь, мы будем рады подключиться через PHP!
PS: посмотрите видео, из которого мы взяли избранное изображение:
Как проверить версии PHP, доступные на вашем сервере
Не знаете, на какой версии ОС и PHP работает ваш VPS? Эта статья базы знаний покажет вам, как проверить ОС, установленную на вашем сервере, и как запустить другие версии PHP параллельно со стандартной версией.
Шаг 1: Определите версию вашей ОС
Чтобы увидеть версию CentOS, установленную на вашем сервере в данный момент, следуйте приведенным ниже инструкциям:- Войдите в панель управления клиента Layershift
- Перейти в раздел System главного верхнего меню
- Нажмите на Информация о сервере
- В разделе Общая информация вы увидите, какая версия CentOS установлена на вашем сервере, как в следующем примере:
Шаг 2. Проверьте версии PHP, доступные для вашей ОС
CentOS 7обработчики PHP | Обновлено до | |||
---|---|---|---|---|
мод_php | php-fpm | FastCGI | ||
PHP 5.3 | — | — | — | |
PHP 5.4 (рекомендуется) | Да | Да | Да | июнь 2024* |
PHP 5. | — | Да | Да | Июнь 2016 г.** |
PHP 5.6 | — | Да | Да | Декабрь 2018 |
PHP 7 | — | Да | Да | ноябрь 2018 г. |
* PHP 5.4 для CentOS 7 — это специальный выпуск с долгосрочной поддержкой, который полностью поддерживается и регулярно обновляется с помощью исправлений безопасности и ошибок, перенесенных из более новых версий PHP.
** Если вы используете PHP 5.5, мы настоятельно рекомендуем перейти на PHP 5.4, чтобы воспользоваться долгосрочной поддержкой. Версии PHP с истекшим сроком службы останутся доступными для существующих веб-сайтов, но исправления безопасности/ошибок больше не будут применяться.
CentOS 6
обработчики PHP | Обновлено до | |||
---|---|---|---|---|
мод_php | php-fpm | ФастКГИ | ||
PHP 5. 3 (рекомендуется) | Да | Да | Да | ноябрь 2020 г.* |
PHP 5.4 | — | Да | Да | Сентябрь 2015 г.** |
PHP 5.5 | — | Да | Да | Июнь 2016 г.** |
PHP 5.6 | — | Да | Да | Декабрь 2018 |
PHP 7 | — | Да | Да | ноябрь 2018 г. |
* PHP 5.3 на CentOS 6 – это специальный выпуск с долгосрочной поддержкой, который полностью поддерживается и регулярно обновляется исправлениями ошибок и безопасности, перенесенными из более новых версий PHP.
** Если вы используете PHP 5.4 или PHP 5.5, мы настоятельно рекомендуем перейти на PHP 5.3, чтобы воспользоваться долгосрочной поддержкой. Версии PHP с истекшим сроком службы останутся доступными для существующих веб-сайтов, но исправления безопасности/ошибок больше не будут применяться.
CentOS 5
обработчики PHP | Обновлено до | ||
---|---|---|---|
mod_php/php-fpm | FastCGI | ||
PHP 5.3 (рекомендуется) | Да | Да | Март 2017 г.* |
PHP 5.4 | — | Да | Сентябрь 2015 г.** |
PHP 5.5 | — | Да | Июнь 2016 г.** |
PHP 5.6 | — | Да | Декабрь 2018 |
* PHP 5.3 для CentOS 5 — это специальный выпуск с долгосрочной поддержкой, который полностью поддерживается и регулярно обновляется с помощью исправлений безопасности и ошибок, перенесенных из более новых версий PHP.
** Если вы используете PHP 5.4 или PHP 5.5, мы настоятельно рекомендуем перейти на PHP 5. 3, чтобы воспользоваться долгосрочной поддержкой. Версии PHP с истекшим сроком службы останутся доступными для существующих веб-сайтов, но исправления безопасности/ошибок больше не будут применяться.
Для тех клиентов, которые используют версию PHP, не помеченную как рекомендованную выше, мы будем регулярно устанавливать последнюю дополнительную версию (например, 5.5.x, 5.6.x) на наш диапазон облачных VPS, чтобы обеспечить стабильность и свести к минимуму риск необходимости чтобы изменить ваш код, мы рекомендуем использовать PHP 5.3 (CentOS 5/6) или 5.4 (CentOS 7) везде, где это возможно (где исправления перенесены обратно для стабильности), и использовать более новые версии, только если вы являетесь активным разработчиком или вам нужны новейшие функциональность.
Как проверить версию PHP, используемую доменом
Если вы не уверены, какая версия PHP установлена на вашем сервере по умолчанию, см. инструкции ниже:
- Войдите в панель Plesk
- Перейти к Инструменты и настройки в главном верхнем меню
- Перейти к Управление сервером
- Нажмите Серверные компоненты
- Найдите «php» в поле поиска:
Если вы также хотите увидеть дополнительные версии PHP, которые вы установили на данный момент:
- Перейти к Сайты и домены
- Нажмите на доменное имя, которое хотите проверить
- Выберите Настройки хостинга
- В разделе Веб-скрипты и статистика вы найдете раскрывающееся меню со всеми доступными версиями PHP.