logo

VestaCP, несколько версий php или мульти php на Debian и Ubuntu

Разместил , . Последнее изменение: 2018-04-18. / 13 комментариев

Мульти php на VestaCP

  1. Как работает менеджер версий php?
  2. Как взаимодействовать с php менеджером?
  3. Как проверить версию php на сервере и сайте?

Привет читатель, не так давно на просторах интернета наткнулся на прекрасный скрипт облегчающий внедрение в VestaCP нескольких версий php. Хочется отметить, что скрипт в первую очередь делался для Debian, но и с Ubuntu так же будет работать (правда с одним но). Сегодня убедимся в работоспособности скрипта на Ubuntu 16.04.

Особенности для Debian: скрипт собирает версии 5.2 и выше.

Особенности для Ubuntu: скрипт собирает версии 5.3 и выше. Для 5.2 выдает ошибку, поэтому, если вам требуется 5.2, используете Debian.

Что нам потребуется:

  1. Операционка Debian или Ubuntu
  2. Установленная VestaCP
  3. Модуль апача cgi (установлен по умолчанию)
  4. SHH доступ к серверу.
Если нужен только php 7 и не хочется париться, то кликни сюда

Если вам нужен только php 7, то советую вам переустановить VestaCP на новый дистрибутив ОС, в репозитории которого уже прописана новая версия php. Как пример могу привести Ubuntu 16.04.

Как работает менеджер версий php в VestaCP?

  1. Вводим нужные нам версии php через пробел с указанием точного номера (к примеру 5.6 не правильно, 5.6.30 - правильно)
  2. Потом скрипт просматривает http://php.net/downloads.php и http://php.net/releases/ на предмет наличия архивов с указными версиями php. Если находит. то скачивает и распаковывает в /opt/php/src. Этот этап можно пропустить, если сразу положить исходные файлы в /opt/php/src/bzips.
  3. Скрипт ставит нужные зависимости, без которых скрипт не может работать. Эта процедура проводится один раз при первом запуске, при последующих ее следует пропускать.
  4. Создает шаблоны для Apache, которые потом легко можно включить в панеле VestaCP.

Как взаимодействовать с php менеджером?

  1. Прежде всего загрузим и запустим менеджер под root.
    git clone https://github.com/petranikin/mgrvphp.git
    cd mgrvphp
    bash mgrvphp
  2. Вводим через пробел нужные версии php (помните: 7.17.1.4), номера версий можно найти на сайте http://php.net/releases, пример ввода указан на скрине ниже.VestaCP, несколько версий php или мульти php на Debian и Ubuntu
  3. Создавать ли ссылки в /usr/bin для быстрого доступа к файлам? В принципе, если вы не собираетесь редактировать файлы стоящие за ссылками, то смело жмите нет N.  Если вы согласитесь, то вот что получится: VestaCP, несколько версий php или мульти php на Debian и Ubuntu
  4. Создавать шаблон VestaCP для каждой указанной версии? Нажимаем да У.
  5. Далее вас спросят устанавливать ли зависимости? Тут обязательно жмет да У, т. к. это первый запуск скрипта на сервере.
  6. После этого остается только ждать. Установка займет какое-то время, много зависит от конфигурации сервера и количества шаблонов (у меня заняло более 30 минут).
  7. Как только установка завершится можно перейти в панель у установить нужный шаблон.

В списке шаблонов вы скорее всего увидите php71 и php71-fcgid. Это не ошибка. Просто php71 сделан на основе шаблона Vesta php-cgi, а  php71-fcgid на основе шаблона phpfcgid. Выберите то, что вам больше подходит.

Как проверить версию php на сервере и сайте?

Теперь давайте проверим успешность нашего труда.

  1. Создаем файл phpinfo.php. Открываем его текстовым редактором и вводим следующее:
    <?php
    phpinfo();
    ?>
  2. Загружаем файл в корень сайта → открываем файл в браузере и смотрим на сменную версию php.

Проверить версию php, установленную по умолчанию, можно с помощью консольной команды:

php  -v

Вот и все готово, пишите комментарии, задавайте вопросы. Мне очень важна обратная связь.

1
2
3
4

13 комментариев Добавить комментарий

  • В процессе установки скрипт не предложил "Создавать шаблон VestaCP для каждой указанной версии? Нажимаем да У" соответственно новые шаблоны в Весте не появились.
    Enter php version/versions(for example 5.6.30):
    >5.3.1 5.4.10 5.6.0
    Create simlinks in /usr/bin?(y/N)
    >N
    If you select 'No', then you need to set the dependencies yourself. Otherwise, the installation will fail.
    Install packages and dependencies?(y/N)
    >y
    Start the installation of packages and dependencies. Please wait...
    При этом дополнительные версии PHP установились, судя по логам. Как-то можно вручную создать шаблоны или исправить?

  • Спасибо, потрясающий скрипт.
    И обьяснили доступно все
    Я только начал работать с выделенным сервером, ваша статья была очень полезна.
    Спасибо

  • Это работает только на 64 разрядности, на 32 не пашет, выдаёт ошибку:
    checking for pkg-config... /usr/bin/pkg-config
    configure: error: Cannot find OpenSSL's libraries
    Кто подскажет как установить?

  • Ставил php7 на Debian 7 c VestaCP, сконфигурированную без Апача (nginx+fpm). Оно ругнулось в конце (см.ниже).
    В opt/php/ - 650Мбайт этого самого php есть. А как его заставить работать на сайте и добавить в Весту - не знаю. 🙁
    Подскажите, пожалуйста.

    mgrvphp: line 152: apachectl: command not found
    mgrvphp: line 155: a2enmod: command not found
    apache2: unrecognized service
    mgrvphp: line 164: apachectl: command not found

  • Ребят, подскажите как в 2к17 поставить memcache для php5.
    P.S. спасибо за скрипт, очень помогло

    • может?

      apt-get install memcached php5-memcache
      • Я конечно тупой, но не на столько.
        Unable to locate package php5-memcache
        ubuntu 16
        Поэтому и спрашиваю, в стандартных репозиториях php 5 нету уже давно.

  • Насколько велик риск что-то сломать? Стоит ли запускать данный скрипт на боевой машине?

    • Небольшой риск есть всегда, советую поставить стразу на тестовую машину, если есть какая-то неуверенность. У меня проблем не возникало.

  • Здравствуйте.
    Спасибо за статью. Очень помогла!
    А можете подсказать, где найти файлы php.ini каждой из версий?
    Заранее благодарен!

    • В phpinfo должно быть написано. Вот пример:
      Phpinfo

  • Статья отличная, однако подобная уже есть.
    https://anikin.pw/all/menedzher-versiy-php/
    В целом в блоге много тематической инфы, в том числе достаточно редкой. Автору спасибо!

    • Аникин - является создателем этого менеджера, но мне не нравится как он пишет. На счет редкой инфы - это зачастую придуманное мною решение проблемы. Сюда можно отнести вторую часть статьи про активацию файлового менеджера и статью про персонализацию панели.

Оставить комментарий

* Возможна анонимная отправка комментария.

Согласен с политикой конфиденциальности *