logo

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

Разместил , . Последнее изменение: 2019-02-05. / 62 комментария

Мульти 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.

Внимание! По всей видимости Deban 9 не поддерживается, подробности в комментариях.

Как работает менеджер версий 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 для быстрого доступа к файлам? Видимо скрипт может работать не правильно если не создать ссылки, по этому нажимаем Y.  В результате вы получите следующее: 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
12345
Поделиься
Отправить

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

  • Если у вас ошибка Please reinstall the libcurl distribution -
    easy.h should be in /include/curl/

    То мне помогла эта issues
    https://github.com/phpbrew/phpbrew/issues/861

    Вот код

    cd /usr/include
    sudo ln -s x86_64-linux-gnu/curl

  • Привет !
    Вот последовательность команд для установки PHP 7.2.24 , всё собирается и работает, огромное СПАСИБО автору скрипта и администрации этого сайта....

    Нащальнике@Шпили-Виле Компутер:~# apt-get install ca-certificates apt-transport-https -y --fix-missing

    Нащальнике@Шпили-Виле Компутер:~# apt-get install pcre2-utils -y --fix-missing

    Нащальнике@Шпили-Виле Компутер:~# apt-get install curl wget make autoconf gcc bison libxml2 libxml2-dev libcurl4-openssl-dev pkg-config libssl-dev bzip2 libbz2-dev libjpeg-dev libpng-dev libxpm-dev libfreetype6-dev libgmp-dev libgmp3-dev libmcrypt-dev libpspell-dev librecode-dev libpcre3-dev libpcre++-dev libxslt1-dev libonig-dev libmcrypt-dev libreadline-dev libmhash-dev -y --fix-missing

    Нащальнике@Шпили-Виле Компутер:~# apt-get install linux-headers-`uname -r` binutils pkg-config build-essential -y --fix-missing

    Нащальнике@Шпили-Виле Компутер:~# apt-get install libxml2-dev libssl-dev libpcre3 libpcre3-dev zlib1g-dev libbz2-dev libjpeg-dev libpng-dev libonig-dev libpspell-dev libreadline-gplv2-dev libxslt-dev -y --fix-missing

    Нащальнике@Шпили-Виле Компутер:~# apt-get install git-core subversion build-essential autoconf automake libtool libncurses5 libncurses5-dev make libjpeg-dev gawk libz-dev pkg-config libcurl4-openssl-dev libexpat1-dev libx11-dev unixodbc-dev libasound2-dev libogg-dev libvorbis-dev libperl-dev libgdbm-dev libdb-dev python-dev uuid-dev software-properties-common wget -y --fix-missing

    Нащальнике@Шпили-Виле Компутер:~# apt-get install libmagickwand-dev libmagickcore-dev -y --fix-missing

    Нащальнике@Шпили-Виле Компутер:~# apt-get install php-dev -y --fix-missing

    Здесь будет очень долгая компиляция ..... Через 5 минут нажми кнопку "Enter"

    Нащальнике@Шпили-Виле Компутер:~# apt-get install libturbojpeg0-dev -y --fix-missing

    Нащальнике@Шпили-Виле Компутер:~# apt-get install libjpeg62-turbo-dev -y --fix-missing

    Нащальнике@Шпили-Виле Компутер:~# apt-get install libmcrypt-dev -y --fix-missing

    Нащальнике@Шпили-Виле Компутер:~# apt-get install libmcrypt-dev -y --fix-missing

    Нащальнике@Шпили-Виле Компутер:~# ln -s /usr/include/qdbm/depot.h /usr/include/depot.h
    Нащальнике@Шпили-Виле Компутер:~# ln -s /usr/lib/libc-client.a /lib/x86_64-linux-gnu/libc-client.a
    Нащальнике@Шпили-Виле Компутер:~# ln -s /usr/lib/libc-client.a /usr/lib/x86_64-linux-gnu/libc-client.a

    Нащальнике@Шпили-Виле Компутер:~# mkdir /usr/include/freetype2/freetype
    Нащальнике@Шпили-Виле Компутер:~# ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype.h

    Нащальнике@Шпили-Виле Компутер:~# reboot

    Нащальнике@Шпили-Виле Компутер:~# git clone https://github.com/petranikin/mgrvphp.git

    Нащальнике@Шпили-Виле Компутер:~# cd mgrvphp

    Нащальнике@Шпили-Виле Компутер:~# bash mgrvphp

    У меня собирается только 7.2.24, сборка 7.3 прерывается ошибками, заморачиваться исправлениями ошибок, теперь твоя задача если есть желание ,,,,,

    Отвечай на все вопросы положительно "y"
    Скрипт оборвет работу ошибкой, переходишь на страницу с версией PHP и скачиваешь нужную в папку /opt/php/src/bzips

    Пример команд ...

    Нащальнике@Шпили-Виле Компутер:~# cd /opt/php/src/bzips
    Нащальнике@Шпили-Виле Компутер:~# rm *
    Нащальнике@Шпили-Виле Компутер:~# wget https://www.php.net/distributions/php-7.2.24.tar.bz2
    Нащальнике@Шпили-Виле Компутер:~# cd ~/mgrvphp
    Нащальнике@Шпили-Виле Компутер:~# bash mgrvphp
    Запускаешь скрипт, отвечаешь на все вопросы "y" и указываешь версию PHP (у меня собирается только 7.2.24)
    Нащальнике@Шпили-Виле Компутер:~# reboot

    • Спасибо за Ваш труд и комментарий)) надеюсь найдутся те, кому Вы поможете

  • Друзья я исправил скрипт и выложил на гитхаб. На Debian 8 работает и на Ubuntu 16.04 тоже, хотелось бы на 9-м дебиане узнать пойдет или нет.

    Моя благодарность создателям VestaCP и вам коллеги, что все участвуете в развитии проекта кто прямо, а кто косвенно задавая вопросы.
    https://github.com/alex3319/mgrvphpvesta

    • На DEB 9.11 ошибки при сборке PHP 7.3, в строке 68 вроде как. PHP не собирается в общем.

      • К сожалению времени нет разбираться. А вообще нужно в контейнеры docker потихоньку мигрировать. А клиентов которые в сайты не хотят вкладываться переселять на рег ру на свою партнерку.

        • REG.RU мутная контора, больше потеряешь чем приобретёшь. Сейчас клиенты умеют поиском в интернет пользоваться и увидя конские цены reg.ru обязательно зададут вам вопрос; "Почему так дорого, Карл ?" .

      • На Ubuntu 16.04 php 7.3 любых версий не собирается, с версиями 7.2 и ниже всё ок

        • Леня, у меня и мысли не было вас задеть. Но если клиент не в состоянии в свой бизнес вложить эти копейки, то зачем ему вообще сайт? Демпингуя цены клиентов больше не станет, да и пользы клиенту будет немного, если он покупает дешево, то и не ценит. Но даже кроме психологии, зачем считать деньги клиента? Если он хочет, то пользуется услугой, не хочет, пусть сам ищет альтернативы. Переход из рег-ру возможен к другим.
          Просто виртаулка например нужна не каждому, так же как и веста. А вот хостинг он прост в понимании и дёшев. А если хочешь много и не дорого, то обычно проиграешь в качестве.

      • Леня, вы вы случаем не из африки что-ли?
        https://www.reg.ru/hosting/ - 1200 в год + домен 200, а продление 900 и это в розницу.

        Сервер в розницу 1200 помоему. А по ценам студии там еще дешевле.

        • 900 рублей, продление домена RU ! Это когда у подавляющего большинства регистраторов и их партнёров 250 рублей. Про Африку это Вы хорошо сказали, но я вам в аналогичном контексте не отвечу, пусть у вас подгорает и дымит от этого.

  • bzip2: (stdin) is not a bzip2 file. у меня сейчас на Ubuntu 18.04 выдает на любую версию, хотя файл скачивается, а дальше вот этот ступор. Никто не сталкивался?

    • В итоге руками выкачал файлы bz2 с помощью wget, закинул в папку в /opt/php/src/bzips
      Запустил инсталяцию и все ок.

  • Люди помогите пожалуйста побороть ошибку

    /opt/php/src/php-5.6.40/ext/ftp/ftp.c:282: undefined reference to `SSLv23_client_method'
    collect2: error: ld returned 1 exit status
    Makefile:268: recipe for target 'sapi/cli/php' failed
    make: *** [sapi/cli/php] Error 1
    Ops. Something is wrong..

  • Помогите кто нибудь побороть ошибку.

    Makefile:268: recipe for target 'sapi/cli/php' failed
    make: *** [sapi/cli/php] Error 1
    Ops. Something is wrong..

  • Ubuntu 16.04-18.04 для php5.3-5.6
    Решение проблемы с OpenSSL, Установим старую версию OpenSSL
    cd /usr/src
    wget https://www.openssl.org/source/openssl-0.9.8zb.tar.gz
    tar xfvz openssl-0.9.8zb.tar.gz
    cd openssl-0.9.8zb
    mkdir /usr/local/sslold
    ./config --prefix=/usr/local --openssldir=/usr/local/sslold
    make
    make install

    изменим в файле options --with-openssl=/usr на --with-openssl-dir=/usr/local/sslold

    Запускаем скрипт, профит)
    PS: Если будут проблемы - скачиваем нужные версии php c https://php.net/releases/ и копируем их вручную в /opt/php/src/

    • А где лежит файл options?

      Все перерыл, не нашел.

      • /opt/php/src/php-ВЕРСИЯ ПХП/

        • он лежит в разделе /mgrvphp

  • Спасибо за статью! Почитал комментарии, попробовал поставить на Ubuntu 16.04. Все встало без ошибок, но после того как в админке Vesta для определенного сайта выбрал др. версию php и перезагрузил Apache и Nginx, меня выбросило из админки и больше я зайти туда не могу. При попытках входа выдает NO LANGUAGE DEFINED. Пробовал смену пароля через SSH. не помогло. Кроме этого при попытке зайти на страницу phpMyAdmin выдает ошибку см. скрин http://joxi.ru/xAevBlXhR51Var

    Кто-нибудь сталкивался? Поставил на боевую машину, мать его((( Хорошо хоть сайты не рухнули. Пока работают.
    Буду очень благодарен за любые мысли по этой проблеме!

    • Все таки все рухнуло, mySql сервер остановился. Чтобы все восстановить пришлось удалить скачанные версии php и вернуть все как было. Тогда все заработало и в админку вошел, и phpMyadmin перестал выдавать ошибки и mySql сервер заработал!

      Но вопрос открыт, так как в будущем было бы не плохо использовать несколько версий php.

  • Вот такая ошибка при использовании скрипта, в самом начале, ставлю рнр 5.6.40 (ставил и другие) получаю вот это.

    You can enter multiple versions through 'space'.
    Enter php version/versions(for example 5.6.30):
    >5.6.40
    Create simlinks in /usr/bin?(y/N)
    >y
    Create VestaCP web templates?(y/N)
    >y
    Start install PHP 5.6.40
    bzip2: (stdin) is not a bzip2 file.
    tar: Child returned status 2
    tar: Error is not recoverable: exiting now
    /opt/php/src/php-5.6.40/options.sh: No such file or directory
    sed: can't read /opt/php/src/php-5.6.40/options.sh: No such file or directory
    mgrvphp: line 113: cd: /opt/php/src/php-5.6.40/: No such file or directory
    bash: options.sh: No such file or directory
    rm: cannot remove '/opt/php/src/php-5.6.40/options.sh': No such file or directory

    Конфигурация сервера Ubuntu 16.04.1, Vesta 0.9.8. По умолчанию стоит РНР 7.0.32.
    Понимаю что не распаковывается архив bzip2, но проверял, стоит последняя версия этого архиватора.

    • Руками скачайте и закиньте в папку, но у меня так и не получилось из-за openssl поставить что то старее 7

  • Здравствуйте. Никак не получается установить, хотя раньше на такой же точно конфигурации проблем не было. Ubuntu 16.04. Несколько раз пытался переустановить, так как система свежая. Устанавливаю 5.6.40. Текст ошибки таков (на всякий случай захватил чуть больше):

    URL transformed to HTTPS due to an HSTS policy
    --2019-04-02 20:14:07-- https://php.net/
    Resolving php.net (php.net)... 185.85.0.29, 2a02:cb40:200::1ad
    Connecting to php.net (php.net)|185.85.0.29|:443... connected.
    HTTP request sent, awaiting response... 301 Moved Permanently
    Location: https://www.php.net/ [following]
    --2019-04-02 20:14:07-- https://www.php.net/
    Resolving www.php.net (www.php.net)... 185.85.0.29, 2a02:cb40:200::1ad
    Connecting to www.php.net (www.php.net)|185.85.0.29|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: unspecified [text/html]
    Saving to: '/opt/php/src/bzips/php-5.6.40.tar.bz2'

    /opt/php/src/bzips/ [ ] 54.40K --.-KB/s in 0.06s

    2019-04-02 20:14:08 (890 KB/s) - '/opt/php/src/bzips/php-5.6.40.tar.bz2' saved [55710]

    bzip2: (stdin) is not a bzip2 file.
    tar: Child returned status 2
    tar: Error is not recoverable: exiting now
    /opt/php/src/php-5.6.40/options.sh: No such file or directory
    sed: can't read /opt/php/src/php-5.6.40/options.sh: No such file or directory
    mgrvphp: line 113: cd: /opt/php/src/php-5.6.40/: No such file or directory
    bash: options.sh: No such file or directory
    rm: cannot remove '/opt/php/src/php-5.6.40/options.sh': No such file or directory

    Не может распаковаться bz2 архив?

    Оф форумы по этому поводу тоже никакого внятного ответ не дают.

    • у меня такая проьлема была по причине недокачки файлов bz2 (битый файл). попробуйте скачать вручную и положите в папку /opt/php/src/ нужные версии php и снова запустите скрипт.

      • Да, проблема была в битых архивах, решилось загрузкой вручную

  • А как теперь на эти версии всякие модули доставлять? Аля mondodb и прочее, ведь apt install php**** не поставит

  • Админ привет, спасибо только вот одна проблема как установить модули скажем для версии 5.6 или другой.
    apt-get install php-curl скажем установлюеться только для той которая php -v

    • Привет. Не приходилось заниматься этим, но мне видится это примерно меняем дефолтную версию вызываемую php -v на требуемую с помощью update-alternatives. Тут и тут подробнее. Затем ставим требуемый модуль.

  • Постоянно использовал Ваш скрипт, но сейчас уже пару часов пытаюсь установить и постоянно выпадает ошибка:
    checking for PCRE2 10.30 or greater... configure: error: PCRE2 version 10.30 or later is required to compile php with PCRE2 support

    Пробовал на Убунту 16.04 и 18.04 на серверах Амазона, ДиджиталОушен, Ukraine.

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

    Подскажите, в чем может быть проблема?

    • Порешал проблему с PCRE2, вылезла другая, порешал её, вылезла третья и так далее...
      В конечном итоге так и не встала...
      Что изменилось в скрипте или в убунтах, что он перестал работать?

      • Как я понимаю, поменялись зависимости и скрипт не может автоматически их установить. Попробуйте что-нибудь почерпнуть из комментария Лёни. Обратите внимание на те зависимости которые он ставит.

    • Здравствуйте, попробуйте

      sudo apt-get install pcre2-utils

      На сколько я понимаю, не хватает зависимости. Отпишитесь, пожалуйста, об успешности, очень давно не использовал этот скрипт.

    • Об этих зависимостях упоминал ранее автор скрипта

      apt-get update 
      apt-get install curl wget mysql-server make autoconf gcc bison libxml2 libxml2-dev libcurl4-openssl-dev pkg-config libssl-dev bzip2 libbz2-dev libjpeg-dev libpng-dev libxpm-dev libfreetype6-dev libgmp-dev libgmp3-dev libmcrypt-dev libmysqlclient-dev libpspell-dev librecode-dev libpcre3-dev libpcre++-dev libxslt1-dev libonig-dev libmcrypt-dev libreadline-dev libmhash-dev -y
      ln -s /usr/include/qdbm/depot.h /usr/include/depot.h
      ln -s /usr/lib/libc-client.a /lib/x86_64-linux-gnu/libc-client.a
      ln -s /usr/lib/libc-client.a /usr/lib/x86_64-linux-gnu/libc-client.a
      mkdir /usr/include/freetype2/freetype 
      ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype.h
  • Hi Admin,

    I was used this script couple of times before and successful. But When i trying this today it gives me this error. I was tried this on couple of VPS thinking it is due to OS issue all failed on ubuntu 16.04/18.04. Not sure where is the issue. Could you please help me with following error.

    /opt/php/src/php-5.6.38/ext/openssl/openssl.c:2338: undefined reference to `sk_free'
    ext/ftp/.libs/ftp.o: In function `ftp_login':
    /opt/php/src/php-5.6.38/ext/ftp/ftp.c:282: undefined reference to `SSLv23_client_method'
    collect2: error: ld returned 1 exit status
    Makefile:268: recipe for target 'sapi/cli/php' failed
    make: *** [sapi/cli/php] Error 1
    Ops. Something is wrong..

    Thanks in advance.
    Charitha

  • А скрипт для удаления установленных дополнительный версий php есть?

  • Добрый день. На весте 10+ сайтов. сервер убунта 14, пхп 5.5. Нужно было чтобы mediawiki работала под 7 версией пхп (чтобы обновить саму медиавики до последней версии). Воспользовался скриптом и всё ок кроме 2 моментов. 1. как мне "доставить" плагин php7.1-ldap, к тому php, что я поставил через скрипт?
    2. если обновлять медиавики через консоль, то это запускается командой php update.php
    Т.к. требуемая версия пхп для обновления 7, то я запускал так: php71 update.php и получил такое результат:

    "X-Powered-By: PHP/7.1.21
    Content-type: text/html; charset=UTF-8

    This script must be run from the command line"

    Хотя и запускал не из консоли. Если установить php7 на весь сервер без скрипта, а обычным обновлением, то скрипт отрабатывает

  • Админ, помоги пожалуйста

    После установки в логах ошибка PHP Warning: Module 'ionCube Loader' already loaded in Unknown on line 0

    PHP Version 5.4.45

  • Подскажите как поставить memcache на debian8 php7.2
    уже стоит и работает на php5.6 , но на php7.2 не определяется, php7.2 устанавливался этим скриптом
    На apt-get install php7.2-memcache php7.2-memcached пишет
    E: Unable to locate package php7.2-memcache
    E: Couldn't find any package by regex 'php7.2-memcache'
    E: Unable to locate package php7.2-memcached
    E: Couldn't find any package by regex 'php7.2-memcached'

  • Привет читатели блога, для тех кто пытался на debian 9 установить PHP с помощью этого скрипта и словил ошибки, написал небольшую инструкции.

    Все действия необходимо производить под root, находясь в /home

    VestaCP установлена со всеми компанентами, предварительно в панели управления остановленны все службы, кроме fail2ban и iptables

    Сохраняем файл репозиториев, на всякий непредвиденный случай

    # cp /etc/apt/sources.list /etc/apt/sources.list.backup

    Вносим правки, добавляя запись к сушествующим репозиториям, это укажет debian искать пакеты со всех доступных репозиториев

    # nano /etc/apt/sources.list

    deb http://httpredir.debian.org/debian/ stretch main contrib non-free
    deb-src http://httpredir.debian.org/debian/ stretch main contrib non-free

    # apt-get update

    Установите необходимые пакеты в систему, без этого у вас вероятно не будет работать скрипт

    # apt-get install firmware-linux-free firmware-linux-nonfree --fix-missing

    # apt-get install linux-headers-`uname -r` binutils pkg-config build-essential --fix-missing

    # apt-get install libxml2-dev libssl-dev libpcre3 libpcre3-dev zlib1g-dev libbz2-dev libjpeg-dev libpng-dev libonig-dev libpspell-dev libreadline-gplv2-dev libxslt-dev --fix-missing

    # apt-get install git-core subversion build-essential autoconf automake libtool libncurses5 libncurses5-dev make libjpeg-dev gawk libz-dev pkg-config libcurl4-openssl-dev libexpat1-dev libx11-dev unixodbc-dev libasound2-dev libogg-dev libvorbis-dev libperl-dev libgdbm-dev libdb-dev python-dev uuid-dev software-properties-common wget --fix-missing

    # apt-get install libmagickwand-dev libmagickcore-dev --fix-missing

    # apt-get install php-dev --fix-missing

    # apt-get install libturbojpeg0-dev --fix-missing

    # apt-get install libjpeg62-turbo-dev --fix-missing

    # apt-get install libmcrypt-dev --fix-missing

    Меняете значения в mgrvphp этот файл находится в папке со скриптом

    строка 54 меняете http://php.net/releases/ на https://secure.php.net/downloads.php

    строка 57 меняете http://php.net/downloads.php на https://secure.php.net/downloads.php

    строка 58 меняете http://php.net на https://php.net

    строка 70 меняете http://php.net на https://php.net

    Это пути по которым скрипт ищет файлы для скачивания, но у меня скрипт по непонятной мне причине идет за файлами для скачивания вот сюда http://am1.php.net/distributions причем страница не защишена HTTPS. Значит верим в то что это не страница злых редисок которые хотят нам навредить, передовая файлы в открытом виде.
    У меня версия PHP 5.6 не собралась, собирались версии от PHP 7.0.32 и старше.
    Как собрать PHP 5.6 я копать не стал, так как уже очень скоро она поддерживаться перестанет. Если вы знаете как собрать PHP 5.6 делитесь информацией.

    Далее следуйте вот этой инструкции, предварительно перейдя в каталог /home пользователя root

    Это будет выглядеть вот так ( root@имя вашей машины:/home# )

    https://pupi-boy.ru/web-server/vestacp-versii-php-debian-ubuntu.html если вы читаете этот комментарий значит вы уже здесь

    В заключение подчистите опилки и прочий мусор, который остался после работы пилой и напильником

    # apt-get autoremove && apt-get autoclean

    Обновите параметры загрузчика и ядра

    # update-initramfs -u

    # update-grub2

    Перезагрузите систему !

  • Для версии 5.3.29 phpinfo выдаёт такое рсположение php.ini

    Loaded Configuration File (none)

  • после установки
    имею в логах ошибку
    PHP Warning: Module 'ionCube Loader' already loaded in Unknown on line 0

    • Решил проблему? Такая же беда.

      • /opt/php/php-5.3.29/etc/conf.d/ext.ini закоментировал строку с инициализацией ioncube

        • Loaded Configuration Fili (none)

          Проблема как-то была решена?

  • При установке php 5.6.30 выдает ошибку configure: error: Please reinstall the libcurl distribution -
    easy.h should be in /include/curl/
    Подскажите, как решить?

    • Попробуйте sudo apt-get install libcurl4-openssl-dev

    • Добрался я до этого скрипта, видимо Debian 9 не поддерживается. Пытался установить 7.2 выдает вашу ошибку, при ее устранении появляются и другие стандартные ошибки компилировании PHP.

      Помогла доустановка зависимостей и простое гугление этих ошибок:

      apt-get install libxml2-dev libssl-dev libpcre3 libpcre3-dev zlib1g-dev libbz2-dev libjpeg-turbo8-dev libjpeg-dev libpng-dev ibfreetype6-dev libonig-dev libpspell-dev libreadline-gplv2-dev libxslt-dev; cd /usr/include; ln -s x86_64-linux-gnu/curl
  • В процессе установки скрипт не предложил "Создавать шаблон 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 установились, судя по логам. Как-то можно вручную создать шаблоны или исправить?

    • На самом деле, про темплейты вас не спрашивает, потому что вы на вопрос про создание линков ("Create simlinks in /usr/bin?(y/N)") ответили "N". Судя по скрипту, для создания темплейтов обязательно должны создаваться линки.

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

  • Это работает только на 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/
    В целом в блоге много тематической инфы, в том числе достаточно редкой. Автору спасибо!

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

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

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

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