CloudLinux OS Blog - Различные версии PHP для каталогов с использованием PHP Selector
Блог CloudLinux OS

Различные версии PHP для каталогов с помощью PHP Selector

У нас было несколько запросов на поддержку разных версий PHP для каждого каталога. Хотя это недоступно с помощью PHP Selector UI, это довольно просто сделать вручную.

Важным требованием является то, что PHP должен быть запущен в режиме SuPHP. Скоро мы выпустим собственный PHP-модуль для Apache, который также поддержит такой режим работы. Протестировано с помощью cPanel, однако оно будет работать на любом другом сервере.

Вот краткое руководство:

1. Настройте обработчики для разных версий и укажите их уже предоставленным двоичным файлам php-cgi, все они видны внутри CageFS. Добавьте следующий раздел в конец /opt/suphp/etc/suphp.conf:

применение / х-HTTPD-php52 = "PHP: / Opt / Alt / php52 / USR / бен / PHP-CGI"
применение / х-HTTPD-php53 = "PHP: / Opt / Alt / php53 / USR / бен / PHP-CGI"
применение / х-HTTPD-php54 = "PHP: / Opt / Alt / php54 / USR / бен / PHP-CGI"
применение / х-HTTPD-php55 = "PHP: / Opt / Alt / php55 / USR / бен / PHP-CGI"
применение / х-HTTPD-php56 = "PHP: / Opt / Alt / php56 / USR / бен / PHP-CGI"

2. Добавьте обработчики suphp для каждой версии, это должно быть сделано до других конфигураций. На сервере cPanel отредактируйте /usr/local/apache/conf/includes/pre_main_global.conf и добавьте следующий раздел:

suPHP_AddHandler application / x-httpd-php52
suPHP_AddHandler application / x-httpd-php53
suPHP_AddHandler application / x-httpd-php54
suPHP_AddHandler application / x-httpd-php55
suPHP_AddHandler application / x-httpd-php56

3. Перезапустите apache.

Вот и все, теперь apache понимает, какой бинарный файл следует использовать для разных типов mime. Чтобы использовать нужную версию в определенном каталоге, просто добавьте строку в .htaccess в этом каталоге (или создайте файл .htaccess с этой строкой, если она там не указана).

Например, для php5.4 добавьте следующую строку:

Приложение AddHandler / x-httpd-php54 .php .php5

В подкаталогах будет использоваться ту же PHP-версию, что и родительская ... если вы не переопределите ее другой записью .htaccess в этом подкаталоге.

Выбор PHP-расширений будет соответствовать расширениям, выбранным конечным пользователем для этой версии PHP в PHP Selector.

Это не «официально» поддерживаемый способ запуска нескольких PHP для каждой учетной записи, но это безопасный взлом, который будет работать для всех, кто использует suPHP.

Дополнительные ядра теперь поддерживаются KernelCare
Обновления Alt-php

Комментарии 5

Здравствуй!

Это можно сделать так, как это, но с fastcgi

Здравствуй! Это можно сделать так, как это, но с fastcgi

Нет, но вскоре мы выпустим нашего собственного обработчика php, который превосходит обработчик FCGI, и он будет поддерживать несколько PHP для каждой учетной записи. Это то, что должно дойти до бета-версии до конца этого месяца.

Нет, но вскоре мы выпустим нашего собственного обработчика php, который превосходит обработчик FCGI, и он будет поддерживать несколько PHP для каждой учетной записи. Это то, что должно дойти до бета-версии до конца этого месяца.

Это было бы фантастически!

Это было бы фантастически!

mod_fcgid работает с селектором PHP, но еще раз -> мы собираемся выпустить новый модуль apache для PHP, который превосходит mod_fcgid - и мы скоро его выпустим

mod_fcgid работает с селектором PHP, но еще раз -> мы собираемся выпустить новый модуль apache для PHP, который превосходит mod_fcgid - и мы выпустим его довольно скоро :)

Здравствуйте,

Как реализовать это решение на сервере с помощью панели DirectAdmin?

Спасибо в adavnce.

Привет, Как реализовать это решение на сервере с помощью панели DirectAdmin? Спасибо в adavnce.
Уже зарегистрирован? ВОЙТИ
гость
Воскресенье, 17 ноября 2019

Защитный код изображение