Как мне установить другую (обновить или понизить) версию PHP в все еще поддерживаемой версии Ubuntu?

Я пытаюсь обновить, чтобы установить PHP 5.5, 5.6 или 7.0 в Ubuntu 12.04/14.04/16.04 LTS, и я могу получить только PHP 5.3.10 для Ubuntu 12.04, PHP 5.5.9 для Ubuntu 14.04 или PHP 7.0.4 для Ubuntu 16.04, используя официальные репозитории (используя apt-get).

Я не совсем уверен, как выполнить обновление вручную – так как мне нужно:

  • чтобы поиграть с новыми (существующими) функциями PHP
  • для установки более старой версии PHP требуется поддержка в программном обеспечении

Вы можете использовать PPA, чтобы оставаться в курсе последних событий с PHP или установить предыдущую версию PHP (например, PHP 5.6 на Ubuntu 16.04 LTS).

Наиболее широко используемые репозитории принадлежат Ондржею Сури, сопровождающему Debian PHP:

  • ppa:ондрей/php Launchpad logo (для PHP 5.6/7.0/7.1 версии с возможностью совместной установки, PHP 5.5 больше не поддерживается)

Пакеты совместимости с php5:

  • ppa:ondrej/php5-compat Launchpad logo (для манекена php5 для удовлетворения зависимостей в старых пакетах)

(Нажмите здесь для получения инструкций по использованию PPA.)

PHP PPA ранее содержал обновление Apache 2.4. Это больше не так, вам нужно добавить отдельный репозиторий Apache 2.4:

Если вы хотите использовать эти PPA, сделайте это:

ppa:ондрей/php Launchpad logo (для PHP 5.6/7.0/7.1 )

sudo add-apt-repository ppa:ondrej/phpsudo apt-get updatesudo apt-get upgradesudo apt-get install php7.1   # for PHP 7.1sudo apt-get install php7.0   # for PHP 7.0sudo apt-get install php5.6   # for PHP 5.6

Для переключения между установленными версиями используйте

sudo update-alternatives --config php

Затем вы должны настроить Apache на работу с правильной версией:

sudo a2dismod php7.1         # unload the current versionsudo a2enmod  php5.6         # load the version you needsudo service apache2 restart # restart webserver to apply

ppa:ondrej/php5-compat Launchpad logo (для совместимости с php5)

sudo add-apt-repository ppa:ondrej/phpsudo add-apt-repository ppa:ondrej/php5-compatsudo apt-get updatesudo apt-get upgradesudo apt-get install php5 # this will pull php5.6 package 

Если у вас нет add-apt-repository двоичный файл выполните следующие действия:

sudo apt-get install python-software-properties

Меры предосторожности:

PHP 5.4

Предварительно упакованная последняя версия PHP 5.4 теперь находится в отдельном PPA:ppa:ondrej/php5-старый стабильный Launchpad logo

Пожалуйста, имейте в виду, что срок службы PHP 5.4 истек на 3. Сентябрь 2015 года и он не получает никаких обновлений безопасности. Рекомендуется перейти по крайней мере на PHP 5.6, который будет получать обновления безопасности до 31. Декабрь 2018.

Пакетам PHP 5.4 потребуется некоторое время, чтобы попасть в Ubuntu, так как необходимо выполнить очень много проверок зависимостей. Ubuntu 12.04 сейчас находится в бета-версии, поэтому я сомневаюсь, что они обновят его до PHP 5.4 (хотя у меня нет официальных или внутренних сведений об этом) - вероятно, он появится только в Ubuntu 12.10 в октябре этого года. Если вы хотите получить его раньше, вам придется либо найти сторонний пакет, либо научиться создавать его самостоятельно из исходного кода.

если sudo apt-get upgrade не обновляет PHP, попробуйте sudo apt-get dist-upgrade. Для обновления дистрибутива.