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

14 июля 2019  •  GNU Linux - CentOS / Debian / Программное обеспечение  •  Коментарии: 0  •  Просмотры: 18

В предыдущей статье я написал как обновить версию 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.

Рекомендую прочесть:  LitePublisher requires "domDocument" class and domxml extension

Как использовать несколько версий 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 (Инструкция)
Поделись этой страницей с друзьями!

Прочтите это обязательно

Как обновить PHP5 на PHP7 на CentOS6

Есть у меня один старенький боевой сервер, на котором в качестве операционной системы трудится CentOS 6.10. По ...

GNU Linux - CentOS / Debian centos php Далее

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

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

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

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

2019 © Технический блог
SQL - 79 | 0,134 сек. | 10.05 МБ
доступность сайта