Debian несколько версий php

Обновлено: 07.07.2024

Речь в заметке пойдёт о модуле PHP7, покдлюченном как модуль апача на всём сервере, и PHP5.6, подключенном как PHP-CGI у нужных сайтов.

И речь пойдёт не о быстрой смене версии php на всём сервере, а именно о том, чтобы, например, все сайты на сервере работали с PHP7, а один или несколько, например с PHP5.

Скачиваем исходники PHP нужной версии, распаковываем и переходим в папку с ними

Собираем нужную версию php

Компилируем php тремя коммандами:

Во время конфигурирования скорее всего будут ошибки. Они по большей части свидетельствуют о отсутствующих пакетах на сервере. Названия недостающих легко гугляться.

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

Файл /usr/local/bin/php-cgi надо переименовать и положить по пути /usr/lib/cgi-bin/php5

Настраиваем нужный VirtualHost апача для работы с нашим бинарником

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

Эти строчки нужно добавить в нужный VirtualHost

Нюансы и возможные проблемы

  1. Ошибка: Invalid command 'Action', perhaps misspelled or defined by a module not included in the server configuration

Не включен модуль апача actions. Включаем:

Файл php.ini будет погдружаться из папки /usr/local/lib/. Изменить это можно опцией --with-config-file-path с выбором при компиляции.

Также должен быть включен конфиг апача serve-cgi-bin

Похожие записи

Сравнение скорости связок Apache + mod-php и Nginx + php-fpm

В декабре того года сменил связку Apache + mod-php (на своём сервере) на связку Nginx + php-fpm, чему несказанно рад. Сайты, даже визуально, стали откликаться быстрее. До и после переезда на примере своего блога замерил скорость генерации страницы, отдачи статики сервером, потребление памяти (php7) и т.д. Под катом немного сравнительных цифр.

PHP. Первый и последний день квартала с помощью класса \DateTime

19 комментариев

Большое спасибо! очень выручило это решение. Всё отлично работает!

P.S. от себя могу добавить, что пунктик "Копируем получившийся бинарник" я для себя заменил на "делаею симлинк".

А у меня установился рядом просто методом apt-get install php5.6 - можно в таком случае его заюзать для отдельных сайтов?

А, гоню. Правильная ссылка.

Ну и, собственно, у меня всё закончилось ошибкой

The requested URL /cgi-bin/php5/phpinfo.php was not found on this server

во что переименовать бинарник?

Респект :) Я чайник из чайников - а всё заработало с первого раза. От души, БЛАГОДАРЮ .

Ну и, собственно, у меня всё закончилось ошибкой The requested URL /cgi-bin/php5/phpinfo.php was not found on this server

значит мод CGI не включен. Попробуйте: a2enmod cgi sevice apache2 restart

Здравствуйте! У меня такая же проблема. Ошибка The requested URL /cgi-bin/php5/phpinfo.php was not found on this server. В гугле ничего не нашел, говорят, что на centos7 apache mod_cgi уже включен. Помогите, пожалуйста.

Тоже ошибка The requested URL /cgi-bin/php5/phpinfo.php was not found on this server. Гугл говорит, что в centos7 mod_cgi уже включен. Помогите разобраться, пожалуйста!

У меня make не выполняется, сделал все по инструкции, Linux Ubuntu 16 Server LTS, 64 бита. Что делать ?

Ошибки при этом какие-то есть?

При вводе команды make, выдает:

Не заданы цели и не найден make-файл. Останов.

Установил до этого VestaCP с php 7, MySQL, Apache и phpMyAdmin (LAMP-сервер)

При это первая команда отрабатывает без ошибок?

Первая команда это ./configure \ ? Вроде сборка идёт - как проверить, что нормально отработала?

По-моему, она в конце напишет, всего ли хватает.

sudo apt-get install libxml2-dev

После того как скопировал получившийся бинарник в /usr/lib/cgi-bin/php5 - при вводе команды php -v выдает версию 5.6, хотя глобально стоит версия 7.0, т.е. получается версия php затирается версией 5.6 ?

"Файл /usr/local/bin/php-cgi надо переименовать и положить по пути /usr/lib/cgi-bin/php5"

  • надо создать папку php5 или выполнить команду

sudo cp /usr/local/bin/php-cgi /usr/lib/cgi-bin/php5 ? (то есть в /usr/lib/cgi-bin будет лежать файл php5)

Веб-сервер Apache использует виртуальные хосты для управления несколькими доменами в одной системе. PHP-FPM использует демона для управления несколькими версиями PHP в одной системе. Вы можете использовать Apache и PHP-FPM для одновременного хостинга на одном сервере нескольких веб-приложений PHP на основе разных версий PHP. Эта возможность полезна, поскольку разным приложениям могут требоваться разные версии PHP, но некоторые серверные комплексы, в том числе стек LAMP в стандартной конфигурации, могут работать только с одной версией. Сочетание Apache с PHP-FPM более экономично по сравнению с хостингом каждого приложения на отдельном экземпляре сервера.

Также PHP-FPM предлагает разные варианты конфигурации для регистрации данных stderr и stdout , аварийной перезагрузки и адаптивного создания процессов, что полезно для сайтов с высокой нагрузкой. Использование Apache с PHP-FPM — один из лучших вариантов хостинга приложений PHP, особенно с точки зрения производительности.

В этом обучающем руководстве мы настроим два сайта PHP для работы на одном экземпляре сервера. Каждый сайт будет использовать собственный домен, и на каждом домене будет использоваться собственная версия PHP. Первый сайт site1.your_domain развернет PHP 7.0. Второй сайт site2.your_domain развернет PHP 7.2.

Предварительные требования

  • Один сервер Debian 10 с не менее чем 1 ГБ оперативной памяти, настроенный согласно руководству Начальная настройка сервера Debian 10, с пользователем non-root user с привилегиями sudo и брандмауэром.
  • Веб-сервер Apache, установленный и настроенный в соответствии с указаниями руководства Установка веб-сервера Apache в Debian 10.
  • Доменное имя, настроенное так, чтобы указывать на ваш сервер Debian 10. Информацию о том, как сделать так, чтобы домены указывали на дроплеты DigitalOcean, можно найти в руководстве Создание указаний на серверы имен DigitalOcean из общих реестров доменов. Для целей настоящего обучающего руководства мы используем два субдомена, каждый из которых указан с записью A в наших настройках DNS: site1.your_domain и site2.your_domain .

Шаг 1 — Установка PHP версий 7.0 и 7.2 с помощью PHP-FPM

Выполнив предварительные требования, вы можете установить PHP версий 7.0 и 7.2, а также PHP-FPM и некоторые дополнительные расширения. Для этого предварительно необходимо добавить в систему репозиторий sury php .

Вначале установите требуемые пакеты, в том числе curl , wget и gnupg2 :

Вышеуказанные пакеты позволяют получить безопасный доступ к репозиторию sury php . sury php — это сторонний репозиторий или PPA (архив персональных пакетов). Он предоставляет PHP 7.4, 7.3, 7.2, 7.1 и 7.0 для операционной системы Debian. Также он включает более актуальные версии PHP, чем содержащиеся в официальных репозиториях Debian 10, и позволяет устанавливать несколько версий PHP в одной системе.

Затем импортируйте ключ пакета:

Теперь добавьте в систему репозиторий sury php :

Установите php7.0 , php7.0-fpm , php7.0-mysql , libapache2-mod-php7.0 и libapache2-mod-fcgid с помощью следующих команд:

  • php7.0 — это метапакет, который можно использовать для запуска приложений PHP.
  • php7.0-fpm предоставляет интерпретатор Fast Process Manager, который работает как демон и принимает запросы Fast/CGI.
  • php7.0-mysql связывает PHP с базой данных MySQL.
  • libapahce2-mod-php7.0 предоставляет модуль PHP для веб-сервера Apache.
  • libapache2-mod-fcgid содержит mod_fcgid, запускающий несколько экземпляров программы CGI для обработки одновременных запросов.

Повторите процедуру для PHP версии 7.2. Установите php7.2 , php7.2-fpm , php7.2-mysql и libapache2-mod-php7.2 .

После установки обеих версий PHP запустите службу php7.0-fpm :

Затем проверьте статус службы php7.0-fpm :

Вывод должен выглядеть так:

Повторите процедуру и запустите службу php7.2-fpm :

Затем проверьте статус службы php7.2-fpm :

Вывод должен выглядеть так:

В заключение необходимо активировать несколько модулей, чтобы служба Apache2 могла работать с несколькими версиями PHP:

actions используется для выполнения скриптов CGI на основе типа носителя или метода запроса.

fcgid — это высокопроизводительная альтернатива mod_cgi , запускающая достаточное количество экземпляров программы CGI для одновременной обработки запросов.

alias позволяет создавать схемы разных деталей файловой системы хоста в дереве документов и для целей переадресации URL.

proxy_fcgi позволяет Apache перенаправлять запросы PHP-FPM.

Перезапустите службу Apache, чтобы применить изменения:

Мы установили на сервере две версии PHP. Теперь создадим структуру директорий для каждого сайта, который будем развертывать.

Шаг 2 — Создание структур директорий для обоих сайтов

В этом разделе мы создадим корневую директорию документов и страницу индекса для каждого из двух сайтов.

Вначале создайте корневые директории документов для site1.your_domain и site2.your_domain :

По умолчанию веб-сервер Apache работает как пользователь www-data и группа www-data. Чтобы убедиться в правильности структуры владения и разрешений для корневых директорий вашего сайта, используйте следующие команды:

Далее вы создадите файл info.php в корневой директории каждого сайта. В нем будет отображаться информация о версии PHP для каждого сайта. Начнем с site1 :

Добавьте следующую строку:

Сохраните и закройте файл. Скопируйте созданный файл info.php в site2 :

Теперь на вашем веб-сервере должны иметься корневые директории документов, которые требуются каждому сайту для предоставления данных посетителям. Далее мы настроим веб-сервер Apache для работы с двумя разными версиями PHP.

Шаг 3 — Настройка Apache для обоих сайтов

В этом разделе мы создадим два файла конфигурации виртуального хоста. Это позволит двум нашим сайтам одновременно работать с двумя разными версиями PHP.

Для обслуживания этого контента Apache необходимо создать файл виртуального хоста с правильными директивами. Вместо изменения файла конфигурации по умолчанию /etc/apache2/sites-available/000-default.conf мы создадим два новых файла в директории /etc/apache2/sites-available/ .

Вначале создайте новый файл конфигурации виртуального хоста для сайта site1.your_domain . Здесь вы предписываете Apache использовать для рендеринга содержимого php7.0 :

Добавьте в файл следующее. Убедитесь, что путь к директории сайта, имя сервера и версия PHP соответствуют вашей системе:

В этом файле вы изменили директорию на DocumentRoot , а ServerAdmin на адрес электронной почты, доступный администратору сайта your_domain . Также вы изменили параметр ServerName , устанавливающий базовый домен для этой конфигурации виртуального хоста, и добавили директиву SetHandler для запуска PHP как сервера процессов fastCGI.

Сохраните и закройте файл.

Теперь создайте новый файл конфигурации виртуального хоста для сайта site2.your_domain . Для этого субдомена мы будем развертывать php7.2 :

Добавьте в файл следующее. Убедитесь, что путь к директории сайта, имя сервера и версия PHP соответствуют уникальным параметрам вашей системы:

Сохраните файл и закройте его после завершения. Проверьте файл конфигурации Apache на наличие синтаксических ошибок:

Вывод должен выглядеть так:

Активируйте оба файла конфигурации виртуального хоста:

Отключите сайт по умолчанию, поскольку он не потребуется:

Перезапустите службу Apache, чтобы применить изменения:

Мы настроили Apache для обслуживания каждого из сайтов и теперь протестируем их и убедимся, что на них работают правильные версии PHP.

Шаг 4 — Тестирование сайтов

Мы настроили два сайта для работы с двумя разными версиями PHP. Теперь проверим результаты.

Информационная страница PHP 7.0
Информационная страница PHP 7.2

Обратите внимание на заголовки. На первой странице указано, что на сайте site1.your_domain развернута версия PHP 7.0. На второй странице указано, что на сайте site2.your_domain развернута версия PHP 7.2.

Мы протестировали сайты и теперь можем удалить файлы info.php . Эти файлы представляют собой угрозу безопасности, поскольку они содержат важную информацию о вашем сервере и при этом доступны неуполномоченным пользователям. Чтобы удалить оба файла, запустите следующие команды:

Теперь у вас имеется один сервер Debian 10, обслуживающий два сайта с разными версиями PHP. Однако PHP-FPM можно применять и для других целей.

Заключение

Мы объединили виртуальные хосты и PHP-FPM для обслуживания нескольких сайтов и нескольких версий PHP на одном сервере. Количество сайтов PHP и версий PHP, которые может обслуживать ваш сервер Apache, зависит исключительно от вычислительной мощности вашего экземпляра.

Теперь вы можете начать изучение более сложных функций PHP-FPM, таких как процесс адаптивного создания или функции регистрации sdtout и stderr . Также вы можете заняться защитой своих сайтов. Для этого используйте наш обучающий модуль по защите сайтов с помощью бесплатных сертификатов TLS/SSL от Let’s Encrypt.


Проблема “ хочу новую версию %software% на моем стареньк … стабильном Debian/CentOS…” так же стара, как *nix-мир. Способов добиться желаемого хватает. Есть масса решений как притащить в систему несколько версий одного и того же софта. Но дальше хочется не просто иметь ещё одну версию, но и управлять тем, какая из версий доступна в системе по умолчанию, для конкретных приложений или пользователей.

Что делать, если хочется сменить системную версию PHP на одну из кастомных сборок? Давайте отталкиваться от того, что у вас на сервере уже установлено несколько версий PHP и вы хотите, чтобы в консоли команда php была конкретной версии, отличающаяся от той, что шла с системой. В этой статье я расскажу, как правильно это настроить, чтобы не было проблем с будущими пакетными обновлениями.

В качестве примера возьмём сервер на CentOS 7, где установлен родной PHP:

Также на сервере установлен наш Plesk с парой своих сборок PHP:

Допустим, мы хотим переключить систему на использование PHP 5.6 по умолчанию (переключать глобально PHP с версии 5.4 на 7 как-то сс… страшно — чему-то в системе может поплохеть от такого). Бинарь PHP 5.6 лежит у нас тут:

Как же сделать так, чтобы система использовала эту, нужную нам, версию PHP?

Сначала посмотрим на системную переменную PATH

В ней перечислен список директорий, в которых ищутся программы по имени. Главный нюанс — поиск в директориях происходит последовательно и используется первый найденный результат. Текущий путь до текущего бинарника PHP мы можем увидеть с помощью команды:

Как видно из PATH , /usr/local/bin находится в списке раньше, чем /usr/bin . Значит, если мы поместим ссылку на альтернативную версию PHP “пораньше”, в /usr/local/bin , то именно она и будет использоваться при вызове команды php вместо /usr/bin/php . Мы можем создать эту ссылку руками (и всё даже будет работать), но правильнее использовать специально созданную для этих целей утилиту update-alternatives (в CentOS это просто alternatives , но есть симлинка update-alternatives , поэтому дальше будем оперировать именно этой командой, как универсальной для Debian/Ubuntu/CentOS/и т.д.).

Теперь, давайте зарегистрируем все доступные версии PHP с помощью этой команды:

Цифры 10, 20 и 30 — это приоритет. Он работает для автоматического выбора, если администратор сам не выбрал конкретную версию. Самое большое число определяет выбор "по умолчанию".

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

Давайте разберемся, что же update-alternatives сделала для нас:

Как видно, она создала цепочку симлинок и теперь по требованию просто меняет промежуточную симлинку на нужный нам бинарь.

То есть, мы успешно настроили группу PHP в update-alternatives , где по умолчанию в автоматическом режиме выбран системный PHP. Сейчас у нас есть возможность переключить команду PHP на любую другую версию..

Давайте переключимся на PHP версии 5.6, которая идет в поставке с Plesk'ом:

Проверяем, что переключение произошло:

Все отлично работает. Теперь в системе используется нужная нам версия PHP и я не опасаюсь, что эта настройка слетит при следующих пакетных обновлениях.

С помощью update-alternatives можно выбирать не только версию PHP, но и многие другие вещи, например разные версии phpunit или редактор по умолчанию в системе. Подход этот универсален для различных систем. Не изобретая своего велосипеда, используя существующие инструменты, вы можете быть уверенным, что не устроили для ваших коллег квеста “Ну почему оно так работает?!”. Настраивайте свою систему правильно.

Мульти php на VestaCP

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Посты по теме

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Сервер в розницу 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..

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

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

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

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

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

Все таки все рухнуло, 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. Текст ошибки таков (на всякий случай захватил чуть больше):

/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 . Тут и тут подробнее. Затем ставим требуемый модуль.

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

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

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

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

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

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

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

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'

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

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

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

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

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

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

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

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

Читайте также: