Page 1 of 1

Менеджер версий PHP для Debian 9

Posted: Thu Apr 19, 2018 10:53 am
by w00t
Озадачился установкой нескольких версий PHP в VestaCP на Dedian 9.4, недолгое гугленье привело на страничку скрипта Петра Аникина, сделал всё по незамысловатому мануалу и... сразу получил массу ошибок ещё на этапе конфигурирования. В комментариях прочёл, что скрипт "заточен" под 64-битную версию Debian 8, а исправлять его под Debian 9 автору то ли лениво, то ли не хватает времени, в общем не суть.
Эмпирическим путём, в простонародье называемым "метод научного тыка", было выявлено, что надо тянуть зависимости от семёрки.

Итак, по порядку. Сначала тянем сам скрипт из git-а:
# git clone https://github.com/petranikin/mgrvphp.git
# cd mgrvphp

Далее..
# apt-get install build-essential
# apt-get build-dep php7.0 (build-dep php5 тут не работает)
# apt-get install libfcgi-dev libfcgi0ldbl libjpeg-dev libmcrypt-dev libssl-dev libc-client2007e libc-client2007e-dev libxml2-dev libbz2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libfreetype6-dev libkrb5-dev libpq-dev libxml2-dev libxslt1-dev libedit-dev libreadline-dev
# cd /usr/include
# ln -s x86_64-linux-gnu/curl (это чтобы наш curl слегка не потерялся, а скрипт не "матерился" об его отсутствии)
# ln -s /usr/lib/libc-client.a /usr/lib/x86_64-linux-gnu/libc-client.agit

После чего из директории скрипта переносим конфигурационный файлик с параметрами туда, где мы сможем вносить в него свои коррективы и скрипт автоматом их будет подхватывать:
# cp /home/ваш_логин/mgrvphp/options /opt/php/options
# nano /opt/php/options (ну или каким вы там пользуетесь редактором..)
*Внимание! Если вы хотите использовать PHP 5.x с поддержкой OpenSSL 1.1, я вас разочарую, данные версии не поддерживается OpenSSL и скрипт однозначно выдаст ошибку, пока вы не исключите его поддержку из файла конфига. Поддержка OpenSSL есть для версий 7.x, так что при большом желании, можно переключиться на одну из них.
Ищем строку --with-openssl=/usr \ и комментируем её (я же её просто удалил через ctrl+k перед запуском скрипта. для компиляции версий 7.x можно вернуть обратно)
Строку --with-pcre-regex=/usr \ приводим к виду --with-pcre-regex \
# cd /home/ваш_логин/mgrvphp
# mgrvphp bash
Теперь вводим номер необходимых версий, например на данный момент это 5.5.38 5.6.35 7.0.29 7.1.16 7.2.4 и жмём два раза Y, после чего идём курить...

Решил написать чтоб самому не забыть, да и так, может кому пригодится... ;)