Готовая поддержка нескольких версий PHP в Plesk 12 и выше

Создана:

2016-11-16 13:16:51 UTC

Изменена:

2017-08-16 16:37:51 UTC

41

Помогла ли вам статья?


Есть вопросы?

Отправить запрос

Готовая поддержка нескольких версий PHP в Plesk 12 и выше

Applicable to:

  • Plesk 12.5 for Linux
  • Plesk Onyx for Linux
  • Plesk 11.x for Linux
  • Plesk 12.0 for Windows
  • Plesk 12.0 for Linux
  • Plesk 12.5 for Windows

Готовый PHP7 в Plesk 12.5! Подробнее читайте в статье #213929565

Зачем мне может понадобиться несколько версий PHP на одном сервере?

Есть несколько причин, почему вам может понадобиться несколько версий PHP на одном сервере. Может оказаться, что у вас на сервере работает приложение на PHP 5.2, и вам нужно запустить еще одно приложение на другом фреймворке, например, application Symfony2 или Lithium. Возможно, у вашего клиента есть старый сайт, работающий на PHP 5.2, или вы просто хотите протестировать какую-то новую функциональность. А может быть вы хотите перенести свой хостинг на более современную операционную систему, но при этом оставить некоторые сайты на старой версии PHP, которая есть в вашей старой операционной системе.

Как я могу использовать несколько версий PHP в Plesk 12.0 и Plesk 12.5?

Сейчас в Plesk 12.0 и Plesk 12.5 вы можете установить через панель управления Plesk и использовать несколько версий PHP 5.x, собранных командой Plesk, без необходимости использовать дополнительные сторонние репозитории и самостоятельно собирать PHP из исходников!

Пакеты PHP Plesk не конфликтуют и не замещают другие пакеты PHP, так что вы можете продолжить использовать свои имеющиеся сборки PHP и сторонние пакеты PHP.

Пакеты PHP от команды Plesk доступны на:

Plesk 12: CentOS 6, CentOS 7 и Ubuntu 12

Plesk 12.5: Ubuntu 12, 14, Debian 7, 8 и CentOS/RHEL 6, 7

Шаг 1. Установите необходимые версии PHP, собранные командой Plesk

  • Установка через графический интерфейс:

    Просто перейдите в интерфейс установщика Plesk и выберите нужные версии PHP ( Добавить/удалить компоненты > Web hosting features > Версии интерпретаторов PHP ).

  • Установка через интерфейс командной строки:

    #plesk sbin autoinstaller --select-product-id plesk --select-release-current  --install-component php5.6

Примечание. Компонент "Поддержка PHP 5 (от поставщика ОС)" нельзя удалить, даже если он больше не нужен.

Примечание. Обработчик PHP-FPM сейчас не является частью пакетов PHP Plesk. Это изменится начиная с версии Plesk 12.1, и вы сможете выбирать необходимые версии PHP-FPM.

Шаг 2. Выберите нужные версии PHP в настройках сайтов и тарифных планов.

После установки новые версии PHP7 будут доступны для выбора в настройках хостинга сайтов и тарифных планов.

Перенос сайтов на пакеты PHP от команды Plesk

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

Это можно сделать следующим образом. Например, перенесем все сайты с "PHP 5.3 fastcgi" из репозитория CentOS 6 на "PHP 5.4 fastcgi" от команды Plesk.

  • Проверьте, что и новый, и старый обработчики PHP зарегистрированы в Plesk с помощью следующей команды:
    /usr/local/psa/bin/php_handler --list.

Смотрите записи в колонке "display name" .

  • Переключите все сайты на новый обработчик PHP (в соответствии с записями в колонке "id"):
    /usr/local/psa/bin/php_handler --replace -old-id fastcgi -new-id plesk-php54-fastcgi.

Если во время переноса возникнут проблемы, воспользуйтесь прикрепленной утилитой-помощником , чтобы проверить текущее состояние и переключить обработчики. Ее нужно запустить от имени пользователя root .

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

#php php_management_tool list

Следующая команда переключает все домены, использующие указанный обработчик PHP, с одного обработчика (указанного в опции --from ) на другой (указанный в опции --to ):

#php php_management_tool move --from=fastcgi-54 --to=plesk-php54-fastcgi

Следующая команда переключает указанные домены на обработчик PHP, указанный в опции --to:

#php php_management_tool move --to=plesk-php56-cgi --domains=module.a10-52-53-101.qa.plesk.ru,module.tld

Технические подробности

Пакеты PHP от команды Plesk не конфликтуют с пакетами из других сторонних репозиториев. Имена пакетов содержат префикс "plesk-php". Вы можете проверить, какие пакеты PHP от команды Plesk в данный момент установлены на сервере, с помощью одной из следующих команд.

rpm -qa|grep "plesk-php"

В Ubuntu/Debian:

dpkg -l|grep "plesk-php"

Все файлы устанавливаются в папку /opt/plesk/php/<version> .

Файл php.ini расположен в /opt/plesk/php/<version>/etc .

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

/usr/local/psa/bin/php_handler --list

Как установить пакеты " devel "

Например, если вы хотите установить пакеты " devel " для Plesk PHP, вам нужно установить пакет plesk-phpXX-devel для соответствующей версии PHP с помощью системного менеджера пакетов (yum или apt):

# yum install plesk-php56-devel

или

# apt-get install plesk-php56-devel

Добавление индивидуальных модулей PHP в Plesk

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

Для иллюстрации рассмотрим добавление модуля memcached для PHP 5.6 в примере ниже. В примере используются команды для CentOS 7, но вы также можете воспользоваться этой функциональностью и на других ОС. Возможно, вам придется немного изменить названия пакетов, но в основе будет лежать все тот же принцип.

Скачайте и установите необходимые пакеты:

# yum search plesk-php devel
# yum install make plesk-php56-devel gcc glibc-devel libmemcached-devel zlib-devel

Затем соберите модуль:

# /opt/plesk/php/5.6/bin/pecl install memcached

(при запросе данных для папки libmemcached, просто пропустите его и нажмите клавишу Enter)

Зарегистрируйте модуль для соответствующей версии PHP:

# echo "extension=memcached.so" > /opt/plesk/php/5.6/etc/php.d/memcached.ini

И, наконец, проверьте, чтобы модуль был включен:

# /opt/plesk/php/5.6/bin/php -i | grep "memcached support"
memcached support => enabled

Возможные проблемы и ограничения

  • Инструмент Plesk Mirror. Если вы используете зеркало репозитория Plesk, обновите его, пройдя по этой ссылке: /ru/113337. Сейчас используется версия 1.4.

  • Модули PHP-FPM и PHP Apache не входят в пакеты PHP от команды Plesk.

  • Пакеты PHP от команды Plesk не доступны для старых операционных систем. Сейчас используются пакеты PHP от команды Plesk для CentOS 6, CentOS 7 и Ubuntu-14. Начиная с Plesk 12.1 этот список пополнится Ubuntu 12 и операционными системами Debian.

Пожалуйста, оставляйте свои комментарии о поддержке нескольких версий PHP в этой ветке на форуме Plesk

Ссылки

php_management_tool , утилита для подоменного управления обработчиками PHP в интерфейсе командной строки.

Иструмент Plesk Mirror , утилита для управления зеркалом репозитория Plesk.

Ветка форума Plesk для открытого обсуждения

Обработчики PHP, Руководство администратора

Вложения:

Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 41 из 100
Еще есть вопросы? Отправить запрос
Войдите в службу, чтобы оставить комментарий.