VestaCP несколько версий PHP Печать
Автор: Administrator   
10.12.17 21:36

Менеджер версий php для Debian/Ubuntu.

 

Выкладываю мой скрипт который поможет установить несколько версий php из исходных кодов на ваш сервер. Скрипт делался в первую очередь для Debian и проверялся на Debian 8 x64. Но работает и на Ubuntu. Удобно с помощью скрипта поддерживать актуальные версии php на сервере с вестой, т.к скрипт умеет автоматически обновлять шаблоны весты при сборке.
На debian 7/8 с моими флагами установки без проблем собираются php 5.2 и выше.
На ubuntu 14.04/16.04 по умолчанию собираются php 5.3 и выше. 5.2 при компиляции валится с ошибкой. Поэтому если нужен 5.2 юзайте дебиан.
Что делает скрипт:

  1. При запуске спрашивает какие версии php требуется собрать(версию нужно вводить полностью. Например 7.1.2, а не 7.1. Можно ввести несколько версий через пробел), создавать ли на бинарник php-cgi симлинк в /usr/bin для быстрого доступа. Проверяет наличие на сервере панели vestacp. Если находит её, то спрашивает создавать ли шаблон web для каждой версии.
  2. При первом запуске спрашивает, нужно ли ставить зависимости. Если вы откажетесь от установки зависимостей, то вам нужно их установить самостоятельно. Иначе при сборке вы получите ошибки. При последующих запусках этот шаг пропускается. Нужно понимать что скрипт старается поставить все возможные зависимости, но в разных дистрибутивах могут использоваться разные пакеты или при использовании кастомных флагов компиляции может потребоваться что-то доустановить.
  3. Парсит http://php.net/downloads.php и http://php.net/releases/ на наличие bz2 архива с исходниками указанной юзером версии php. Если находит, скачивает и распаковывает исходники в /opt/php/src.
  4. Конфигурит, по умолчанию с моими параметрами компиляции(подойдут для большинства пользователей). Собирает.
    Тем кто хочет использовать свои параметры компиляции обязательно кликнуть сюда
  5. При необходимости создает симлинк и шаблон для весты. Если создает темплейты для весты, то проверяет включен ли модуль cgi в апаче. Если модуль не включен, то включает его.

Запустить скрипт очень просто

# git clone https://github.com/petranikin/mgrvphp.git
# cd mgrvphp
# bash mgrvphp


Мне понадобился PHP 5.6.30 После установки, в админпанели VestaCP появится возможность выбирать шаблон с PHP 5.6.
Не забываем, что теперь конфиги для PHP лежат в другом месте /opt/php/php-5.6.30/etc/conf.d/ext.ini
Также в него понадобилось прописать date.timezone = «Europe/Moscow»
Последнее обновление 10.12.17 21:43