Установите PHP5 на Ubuntu 18.04

20

У меня работает старый инструмент PHP, который не так легко адаптировать к PHP7. Поэтому я должен запустить PHP5 на моем сервере.

Как я могу установить PHP5 на Ubuntu Bionic Beaver?

rubo77
источник

Ответы:

33

Не рекомендуется продолжать PHP 5.6, то есть EOL с января 2010 года!

Но вы можете установить PHP5.6 из PPA:

sudo add-apt-repository -y ppa:ondrej/php
sudo apt update
sudo apt install php5.6

источник: /ubuntu//a/762161/34298

rubo77
источник
сначала вам нужно установить "sudo apt install software-properties-commo", чтобы получить команду "add-apt-repository"
ZFNerd
У меня в убунту 19.04 sudo apt-get install php5.6работал только
Гаян
2

Возможно, вы захотите запустить свой инструмент PHP 5 в контейнере, например Docker. PHP 5 подходит к концу, и если вы используете PHP 7 на той же машине, вы можете столкнуться с конфликтами.

Для PHP 5 доступно несколько официальных изображений Docker: https://hub.docker.com/_/php/

Абри Рат
источник
Это безопаснее, чем просто установить PHP 5? Мне не нужен PHP 7 на этом компьютере
rubo77
Вам не нужна контейнерная среда, если вам вообще не нужен PHP 7, просто удалите PHP 7 и установите PHP 5 из репозитория ondrej в другом ответе в этом случае.
RedScourge
1

Несколько вариантов, как указано в других ответах:

  • Используйте репозиторий Ondrej / php PPA для установки PHP 5.6:

Как это:

sudo add-apt-repository -y ppa:ondrej/php
sudo apt update
sudo apt install php5.6
  • Используйте контейнерные системы Docker или LXD для создания небольшой среды PHP 5, запускайте ее в Ubuntu 18.04 и перенаправляйте все веб-запросы, требующие PHP 5, в нее. Я слышал, что на самом деле вы можете конвертировать всю виртуальную машину Ubuntu 12.04 или 14.04 в контейнер с lxd-p2c и запускать ее внутри Ubuntu 18.04, как в этой презентации: «Превращение физических систем в контейнеры Перенос в системные контейнеры»

  • Вы также можете настроить второй сервер (или ВМ) и просто установить Apache в основной системе 18.04 для прокси-запросов на сайты, для которых требуется PHP 5. Эта система не обязательно должна быть доступна через Интернет, поскольку система 18.04 будет открытой для внешнего мира. Если вам требуется register_globals, вы можете использовать Ubuntu 12.04 с PHP 5.3.2, который больше не поддерживается официально, или Ubuntu 14.04 с PHP 5.5.9 с фрагментом кода в начале всех ваших файлов для эмуляции register_globals. Я забыл фрагмент кода, но вы можете посмотреть его. Вот соответствующие файлы конфигурации, которые, вероятно, должны работать для проксирования SSL-сайта с одного сервера на другой, при условии, что остальная часть вашей конфигурации правильна и требуемые моды включены:

На сервере Ubuntu 18.04 Apache выполняет проксирование в 192.168.1.2:

#requires mod_remoteip and mod_proxy
RemoteIPHeader X-Forwarded-For
TrustedProxy 192.168.1.2

SSLProxyEngine On
ProxyPreserveHost On
ProxyPass / https://example.org/ retry=0
ProxyPassReverse https://example.org/ retry=0

На сервере Ubuntu 14.04, который проксируется на 192.168.1.3:

#requires mod_proxy
RemoteIPHeader X-Forwarded-For
RemoteIPInternalProxy 192.168.1.2 
RemoteIPInternalProxy 192.168.1.1 #assuming your router IP is 1.1
RedScourge
источник