Как установить несколько версий PHP в Virtualmin 6, Debian 9

По умолчанию Debian 9 поставляется с PHP 7, но я заинтересовался PHP 5 и для старых сайтов.

Я пытался следовать / адаптировать это руководство (не зависит от virtualmin) https://pehapkari.cz/blog/2017/03/27/multiple-php-versions-the-easy-way/

Но это ошибка, которую я получаю (потому что Virtualmin обнаружил неправильный бинарный файл php):

[Tue Jan 22 15:08:58.713966 2019] [fcgid:warn] [pid 1023] (104)Connection reset by peer: [client MYIP:62256] mod_fcgid: error reading data from FastCGI server
[Tue Jan 22 15:08:58.714041 2019] [core:error] [pid 1023] [client MYIP:62256] End of script output before headers: test.php

1 ответ

Решение

Итак, сначала вам нужно добавить репозиторий для PHP 5.6, "вот пакеты непосредственно от сопровождающего пакетов PHP Debian, Ondřej Surý".

$ apt-get install apt-transport-https
$ curl https://packages.sury.org/php/apt.gpg | apt-key add -
$ echo 'deb https://packages.sury.org/php/ stretch main' > /etc/apt/sources.list.d/deb.sury.org.list
$ apt-get update

Теперь ключ заключается в том, чтобы установить только нужный пакет php, в случае, если virtualmin работает в режиме FCGId по умолчанию, это:

$ apt-get install php5.6-cgi

Я также хотел иметь поддержку mysql/i, gd & xml так:

 $ apt-get install php5.6-mysql php5.6-gd php5.6-xml

Они оба установят несколько зависимостей.

В заключение:

service apache2 restart

Теперь вы сможете запустить "Системные настройки"->"Перепроверить конфигурацию" и найти строку, которая должна выглядеть примерно так:

The following PHP versions are available : 5.6.40 (/usr/bin/php-cgi5.6), 7.0.33 (/usr/bin/php-cgi7.0)

Удостоверившись, что оба бина являются вариантами -cgi, это было то, что меня поразило, так как у меня был один, обнаруживший простой php5.6 без бита -cgi.

Теперь вы сможете перейти в "Конфигурация сервера"->"Версии PHP" и выбрать новую (более старую) версию, которую мы установили.

Также теперь проверьте, есть ли в "Службах" новая опция для настройки нового 5.6 php.ini, в противном случае вам нужно перейти в "Конфигурация сервера"->"Параметры веб-сайта" и перейти с FCGId на CGI-оболочку и обратно на FCGId. опять же, это сгенерирует ваш php.ini в новом разделе.

Теперь, наконец, вы можете закомментировать новый источник apt, который мы добавили ранее, чтобы не допустить обновления ваших php-пакетов "обычного debian".

#deb https://packages.sury.org/php/ stretch main
Другие вопросы по тегам