PHP 5.6 на Debian 9

Для старого сайта потребовалось установить PHP 5.6 на Debian 9.

Для старого сайта потребовалось установить PHP 5.6 на Debian 9. 

Для начала скачать последнюю версию и распаковать:

cd /tmp
wget -O php-5.6.36.tar.gz http://nl1.php.net/get/php-5.6.36.tar.gz/from/this/mirror
tar -xvf php-5.6.36.tar.gz

Однако, эта версия PHP не поддерживает libssl 1.1 и потому не собирается. Решение проблемы - применить патч https://github.com/oerdnj/deb.sury.org/issues/566

wget http://zettasystem.com/PHP-5.6.31-OpenSSL-1.1.0-compatibility-20170801.patch
cd php-5.6.36
patch -p1 < ../PHP-5.6.31-OpenSSL-1.1.0-compatibility-20170801.patch

Теперь можно переходить к сборке:

./configure \
--enable-pdo \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--enable-mbstring \
--with-gd \
--with-mcrypt \
--with-vpx-dir \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-xpm-dir \
--with-zlib-dir \
--with-openssl \
--with-pear \
--with-xsl

Возможно, в процессе потребуется установить недостающие пакеты. У меня это было:

apt-get install libvpx-dev libxml2-dev libpcre3-dev libbz2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libxpm-dev libfreetype6-dev libgd2-dev libgmp-dev libsasl2-dev libmhash-dev unixodbc-dev freetds-dev libpspell-dev libsnmp-dev libtidy-dev libxslt1-dev libmcrypt-dev libssl-dev

Далее

make
checkinstall

Копируем получившийся бинарник куда-нибудь:

cp /usr/local/bin/php-cgi /usr/lib/cgi-bin/php5

Теперь как заставить нужный VirtualHost хост не работать как модуль апача с нашим бинарником. Добавить в нужный VirtualHost:

<FilesMatch \.php$>
    SetHandler application/x-httpd-php5
</FilesMatch>

AddHandler application/x-httpd-php5 .php
Action application/x-httpd-php5 /cgi-bin/php5

Возможно, потребуется включить несколько модулей Apache^

a2enmod actions
a2enconf serve-cgi-bin
a2enmod cgi 
a2enmod rewrite
sevice apache2 restart