Две версии PHP на CentOS6 с панелью управления ISPManager v4

Опубликовано: 14 июля 2019
Раздел(ы): GNU Linux - CentOS / Debian, Программное обеспечение
Просмотры: 1188
Комментарии: 0

В предыдущей статье я написал как обновить версию PHP5 на PHP7 на сервере с операционной системой CentOS 6. В ней я так же упомянул о возможных проблемах в виде неработающих сайтов из-за несовместимости с новой версией PHP.

У меня на сервере более 20 сайтов и 3 из них напрочь отказались работать на новой версии PHP. К сожалению, владельцы этих сайтов не смогли оперативно исправить код для совместимости с PHP7 и мне пришлось самому искать решение, чтобы на сервере одновременно могли работать несколько разных версий PHP.

Задачу усложняло то, что на сервере стоит старенькая панель управления ISPmanager версии 4, в которой возможность работы с несколькими версиями PHP не предусмотрена.

Было решено, что PHP7 будет основной версией и будет работать как модуль Apache. Версия PHP5 будет подключаться в режиме PHP-CGI для тех сайтов чей код несовместим с PHP7. Все настройки для сайтов в части выбора версии PHP можно будет производить прямо из панели, без правки конфигурационных файлов Apache, PHP и .htaccess.

Режимом PHP-CGI для PHP7 я решил пожертвовать.

Исходные данные

Все приведенные ниже инструкции были опробованы на сервере с операционной системой CentOS 6.10 разрядностью 64 бита с установленной панелью управления хостингом ISPmanager-Lite версии 4.4.10.30. PHP на сервере обновлен до версии 7.3 по этой инструкции.

Как установить вторую версию PHP на CentOS6

Первым делом необходимо подключить репозиторий Remi, если он у вас еще не установлен:

# yum install http://rpms.remirepo.net/enterprise/remi-release-6.rpm

Если все прошло без ошибок, то после установки репозитория, у вас появится несколько файлов remi****.repo в каталоге: /etc/yum.repos.d/.

Две версии PHP на CentOS6 с панелью управления ISPManager v4

И если там присутствует remi-safe.repo, то вам остается только проверить доступность необходимой нам версии PHP:

# yum list php56*

Устанавливаем вторую версию PHP на сервер:

# yum install php56-php php56-php-cli php56-php-common php56-php-gd php56-php-ioncube-loader php56-php-mbstring php56-php-mcrypt php56-php-mysqlnd php56-php-opcache php56-php-pear

Перезагрузим Apache:

# service httpd restart

Теперь на сервере будет две версии PHP, стандартная 7.3 и дополнительная 5.6, имена файлов у последней будут начинаться с PHP56.

Как использовать несколько версий PHP на хостинге

Я писал выше, что решил пожертвовать режимом PHP-CGI версии 7.3 в пользу 5.6. Чтобы это осуществить выполните в консоли следующие команды:

# mv /usr/bin/php-cgi /usr/bin/php-cgi_old
# cp -P /usr/bin/php56-cgi /usr/bin/php-cgi

Этими командами мы заменили вызов PHP-CGI версии 7.3 на PHP-CGI версии 5.6. При этом мы сохранили версию PHP-CGI 7.3 для возможности отмены изменений.

Теперь, когда в ISPmanager вы выбираете для сайта режим работы PHP-CGI будет работать версия PHP 5.6.

Настраивает ISPmanager 4 для работы с двумя версиями PHP

Эти настройки необязательны, но делают процесс выбора версий PHP в ISPmanager более наглядным.

Открываем файл /usr/local/ispmgr/var/.xmlcache/ispmgr/wwwdomain.edit.ru.xml
и ищем в нем:

<msg name="php">PHP</msg><msg name="phpcgi">PHP как CGI</msg><msg name="phpfcgi">PHP как FastCGI</msg><msg name="phpmod">PHP как модуль Apache</msg>

меняем на подобное:

<msg name="php">Версия PHP</msg><msg name="phpcgi">PHP 5.6 как CGI</msg><msg name="phpfcgi">PHP как FastCGI</msg><msg name="phpmod">PHP 7.3 как модуль Apache</msg>

Теперь нужно перегрузить панель ISPmanager:

# killall -9 ispmgr

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

Две версии PHP на CentOS6 с панелью управления ISPManager v4

Результаты

В результате вышеописанных действий у нас на сервере появилась возможность использовать для сайтов две версии PHP. Одна основная 7.3 работает как модуль Apache, вторая 5.6 в режиме PHP-CGI. Выбор версий PHP для каждого домена осуществляется в панели управления ISPmanager.

Благодарности

При написании статьи были использованы следующие источники:

  1. Несколько версий PHP и обновление PHP в ISP Manager
  2. Установка 2х версий PHP Debian (Инструкция)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить" Вы даёте свое согласие на обработку введенной персональной информации в соответствии с Федеральным Законом №152-ФЗ от 27.07.2006 "О персональных данных", на условиях и для целей определенных политикой конфиденциальности сайта.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

© Юрий Рассадников, 2011 - 2021
uptime узнать
Домен : reg.ru
Хостинг : adman.com
SQL - 8 | 0,152 сек. | 10.58 МБ