Як встановити іншу (оновлену чи понижену) версію PHP у підтримуваній версії Ubuntu?


226

Я намагаюся оновити, щоб встановити 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).

Я не дуже впевнений, як зробити оновлення вручну - як мені потрібно:

  • пограти з новими (est) функціями PHP
  • встановити старішу версію PHP за рахунок підтримки в програмному забезпеченні

1
якщо sudo apt - отримати оновлення Dont upgrade PHP, то спробуйте sudo apt-get dist-upgrade. Для оновлення дистрибуції
Моїз Кіяні

Відповіді:


292

Ви можете використовувати PPA, щоб бути в курсі PHP або встановити попередню версію PHP (fe PHP 5.6 на Ubuntu 16.04 LTS).

Найпоширеніші сховища походять від Ondřej Surý, підтримувача PHP Debian:

  • ppa: ondrej / phpЛоготип стартової панелі (для PHP 5.6 / 7.0 / 7.1 версії, які можна встановити, PHP 5.5 більше не підтримується)

Пакети php5 compat:

  • ppa: ondrej / php5-compatЛоготип стартової панелі (для манекена php5для задоволення залежностей у старих пакетах)

( Клацніть тут, щоб отримати інструкції щодо використання PPA. )

PHP PPA раніше містили оновлення Apache 2.4. Це більше не стосується, вам потрібно додати окреме сховище Apache 2.4:

Якщо ви хочете використовувати ці PPA, зробіть це:

ppa: ondrej / phpЛоготип стартової панелі (для PHP 5.6 / 7.0 / 7.1)

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install php7.1   # for PHP 7.1
sudo apt-get install php7.0   # for PHP 7.0
sudo apt-get install php5.6   # for PHP 5.6

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

sudo update-alternatives --config php

Тоді ви повинні налаштувати Apache на роботу з правильною версією:

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

ppa: ondrej / php5-compatЛоготип стартової панелі (для php5 compat)

sudo add-apt-repository ppa:ondrej/php
sudo add-apt-repository ppa:ondrej/php5-compat
sudo apt-get update
sudo apt-get upgrade
sudo 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-oldstableЛоготип стартової панелі

Зауважте, що PHP 5.4 закінчився термін служби 3 вересня 2015 року, і він не отримує жодних оновлень безпеки. Рекомендується перейти на щонайменше PHP 5.6, який отримає оновлення безпеки до 31 грудня 2018 року .


5
Виявляється, ти повинен бігти sudo apt-get updateпершим!
kavisiegel

3
для цього є пакет php5-cli!
matteosister

11
Додавши ppa, ви можете зробити: sudo apt-get dist-upgrade
matteosister

2
Після встановлення ppa, оновлення php та запуску php -v, інформація про версію починається з цього повідомлення про помилку: Не вдалося завантажити /usr/lib/php5/20090626/xdebug.so: /usr/lib/php5/20090626/xdebug.so: не можна відкрити спільно об'єктний файл: Немає такого файлу чи каталогу .
системович

3
Використовувати, apt-get install software-properties-commonякщо команда apt-get install python-software-propertiesне надає add-apt-repository.
Meetai.com

3

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.