Несколько версий PHP в ОС Linux Debian v7 и v8 на базе репозитория ISPsystem

Растиражированный на просторах Internet способ по установке PHP v5.3 в ОС Linux Debian v7 путем подключения репозитория от Debian v6 потерял свою актуальность в виду того, что последний стал историей: поддержка полностью прекращена, пакеты убраны с зеркал проекта. Тем не менее, необходимость в старых версиях PHP по-прежнему иногда возникает, а еще актуальнее поддержка сразу нескольких версий на одном сервере. Один из таких методов я недавно описывал: http://uzlec.ru/neskolko-versij-php-v-ispmanager.html Но он несколько трудозатратен, поскольку требует компиляции PHP и всех его компонентов из исходных кодов.
В ISPmanager 5 есть встроенный функционал PHP-selector: https://www.ispsystem.ru/news/php-selector Он позволяет установить в системе несколько версий PHP и переключаться между ними. Данный механизм с некоторыми ограничениями также можно использовать в ISPmanager 4 или вообще без оного.
Необходимо сразу оговорится, что излагаемое ниже решение подходит только для использования PHP в режиме FastCGI. Для начала подключаем репозиторий ISPmanager 5. Для этого создаем в Debian v7 файл "/etc/apt/sources.list.d/ispsystem.list":

deb http://download.ispsystem.com/repo/debian base-wheezy main
deb http://download.ispsystem.com/repo/debian stable-wheezy main

Для Debian v8 необходимо заменить "wheezy" на "jessie" соответственно.
Установить ключ и обновить кэш пакетов в ОС:

wget -q -O - http://cdn.ispsystem.com/repo/debian/ispsystem.gpg.key | apt-key add -
apt-get update

Теперь для установки доступны пакеты с говорящими названиями: isp-php52, isp-php53, isp-php54, isp-php55, isp-php56, isp-php70.
Можно установить один или несколько из них:

apt-get install isp-phpXX

Установка происходит в каталог вида "/opt/phpXX/". Им ограничивается вся инфраструктура определенной версии PHP: исполняемые файлы интерпретатора, настройки, модули расширения. Подключения и отключения последних происходит путем манипуляций с символическими ссылками между "/opt/phpXX/etc/mods-available/" и "/opt/phpXX/etc/php.d/". При желании можно подключить все доступные модули:

cp -rs /opt/phpXX/etc/mods-available/* /opt/phpXX/etc/php.d/

Смена версии PHP у пользователя панели управления ISPmanager выполняется тривиально. Для этого достаточно лишь изменить строку вызова интерпретатора в файле "/var/www/<user>/data/php-bin/php":

#!/opt/phpXX/bin/php-cgi

Преимущества описанного метода, как это обычно бывает, являются продолжением недостатков. С одной стороны вы имеете возможность быстро развернуть и переключиться на необходимую версию PHP, но с другой – ограничены лишь теми модулями расширения PHP, что потрудились заранее скомпилировать разработчики из ISPsystem.

Похожие публикации
  1. Тем, кто ищет аналогичное решение для дистрибутивов на базе менеджера пакетов RPM, даю подсказку, как следует подключать репозиторий ISPmanager 5:

    wget -O /etc/yum.repos.d/ispsystem-base.repo "http://cdn.ispsystem.com/repo/centos/ispsystem-base.repo"
    wget -O /etc/yum.repos.d/ispsystem.repo "http://cdn.ispsystem.com/repo/centos/ispsystem-stable.repo"

    В остальном использование описанной методики остается прежним. Ее лишь необходимо адаптировать под YUM.

Оставить комментарий


Примечание - Вы можете использовать эти HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>