PHP versions on CloudLinux

From ISPWiki
Jump to: navigation, search


Данная статья посвящена описанию работы модуля PHP в ОС CloudLinux.

Панель управления ISPmanager 5 Business предоставляет возможность использовать альтернативные версии PHP в ОС CloudLinux в двух режимах работы (CGI и LSAPI). В остальных режимах используется нативная версия PHP

Режим работы CGI

Управление версиями

Вы можете установить необходимые для использования версии PHP с помощью модуля "Настройки web-сервера" ⇾ "Версии PHP"

Применение настроек PHP

CloudLinux предоставляет утилиту selectorctl для работы с настройками PHP.

  1. Пользователь панели управления применяет настройки PHP:
    1. Вызывается selectorctl с необходимыми параметрами
  2. Администратор панели управления применяет настройки PHP:
    1. Вносятся изменения в глобальный php.ini для конкретной версии PHP
    2. Вызывается "cagefsctl --rebuild-alt-php-ini" для применения изменений

Режим работы LSAPI

Для того, чтобы иметь возможность использовать PHP в режиме LSAPI, необходимо выбрать "Prefork" в качестве режим работы веб-сервера Apache ("Настройки кластера" ⇾ "Политики")

Конфигурация версии PHP с помощью модуля Apache mod_lsapi выполняется "на www-домен". У разных www-доменов одного пользователя версия PHP может быть разная и не зависит от того, какая версия PHP выбрана в данный момент для пользователя в phpselector.

Первоначальная настройка

Для того, чтобы выполнить первоначальную настройку LSAPI, панель управления узла кластера выполняет следующие действия:

  1. Установка lsphp:
    • yum install liblsapi liblsapi-devel mod_lsapi
    • /usr/bin/switch_mod_lsapi --setup
  2. Создание имён обработчиков для Apache:
    • создаётся файл /etc/container/php.handler
    • для каждой альтернативной версии PHP описывается в этом файле обработчик в виде:
    application/x-lsphp53 /opt/alt/php53/usr/bin/lsphp
  3. Для того, чтобы пользовательские настройки из phpselector работали в каждом www-домене независимо от текущей выбранной версии PHP для пользователя:
    • создётся файл /etc/cl.selector/symlinks.rules с содержимым:
    php.d.location = selector
    • выполняется команда /usr/bin/selectorctl --apply-symlinks-rules

Управление версиями

Вы можете установить необходимые для использования версии PHP с помощью модуля "Настройки web-сервера" ⇾ "Версии PHP"

Нативная версия PHP для работы в режиме LSAPI не используется

Версия PHP 5.6 используется самим модулем LSAPI и не может быть удалена

Применение настроек www-домена

Для того, чтобы PHP для конкретного www-домена работал в режиме LSAPI, следует:

  1. Разрешить пользователю использовать PHP в режиме LSAPI на форме редактирования пользователя. Также есть возможность указать, какая версия PHP будет использоваться по умолчанию в этом режиме
  2. На форме редактирования www-домена указать режим рабты PHP как LSAPI и выбрать версию PHP

В конфигурационном файле www-домена в секции VirtualHost подключается обработчик PHP в виде:

 <FilesMatch "\.ph(p[3-5]?|tml)$">
   SetHandler application/x-lsphp53
 </FilesMatch>

Также в конфигурационном файле www-домена указываются дополнительные настройки аналогично настройкам для PHP в режиме модуля Apache

Настройки альтернативной версии PHP

Все настройки параметров и расширений PHP, выполняемые с помощью панели управления, применяются также для PHP в режиме модуля LSAPI