Несколько версий 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>