Wie installiere ich eine andere PHP-Version (Upgrade oder Downgrade) in einer noch unterstützten Ubuntu-Version?

226

Ich versuche zu aktualisieren, um PHP 5.5, 5.6 oder 7.0 in Ubuntu 12.04 / 14.04 / 16.04 LTS zu installieren, und ich kann nur PHP 5.3.10 für Ubuntu 12.04, PHP 5.5.9 für Ubuntu 14.04 oder PHP 7.0.4 für Ubuntu 16.04 erhalten mit offiziellen Repositories (mit apt-get).

Ich bin mir nicht sicher, wie ich ein manuelles Update durchführen soll - wie ich es brauche:

  • um mit den neuen (est) PHP-Funktionen herumzuspielen
  • ältere PHP-Version aufgrund Support in der Software zu installieren
kavisiegel
quelle
1
Wenn sudo apt-get upgrade PHP nicht aktualisiert, versuchen Sie es mit sudo apt-get dist-upgrade. Für ein Distributions-Upgrade.
Moiz Kiyani

Antworten:

292

Sie können ein PPA verwenden, um mit PHP auf dem neuesten Stand zu bleiben oder eine frühere Version von PHP zu installieren (z. B. PHP 5.6 unter Ubuntu 16.04 LTS).

Die am häufigsten verwendeten Repositorys stammen von Ondřej Surý, dem Debian-PHP-Betreuer:

  • ppa: ondrej / phpLaunchpad-Logo (für gemeinsam installierbare Versionen von PHP 5.6 / 7.0 / 7.1 wird PHP 5.5 nicht mehr unterstützt)

Die PHP5-kompatiblen Pakete:

( Klicken Sie hier, um Anweisungen zur Verwendung von PPAs zu erhalten. )

PHP-PPAs enthielten zuvor das Apache 2.4-Update. Dies ist nicht länger der Fall, Sie müssen ein separates Apache 2.4-Repository hinzufügen:

Wenn Sie diese PPAs verwenden möchten, gehen Sie folgendermaßen vor:

ppa: ondrej / phpLaunchpad-Logo (für 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

Um zwischen den installierten Versionen zu wechseln, verwenden Sie

sudo update-alternatives --config php

Dann müssen Sie Apache so einstellen, dass es mit der richtigen Version funktioniert:

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-compatLaunchpad-Logo (für 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 

Wenn Sie keine add-apt-repositoryBinärdatei haben, gehen Sie wie folgt vor:

sudo apt-get install python-software-properties

Vorsichtsmaßnahmen:

PHP 5.4

Das vorgefertigte neueste PHP 5.4 befindet sich jetzt in einem separaten PPA: ppa: ondrej / php5-oldstableLaunchpad-Logo

Bitte beachten Sie, dass PHP 5.4 am 3. September 2015 das Ende seiner Lebensdauer erreicht hat und keine Sicherheitsupdates mehr erhält. Es wird empfohlen, auf mindestens PHP 5.6 zu migrieren, für das die Sicherheit bis zum 31. Dezember 2018 aktualisiert wird .

oerdnj
quelle
5
Es stellt sich heraus, dass du sudo apt-get updatezuerst rennen musst !
kavisiegel
3
dafür gibt es das php5-cli paket!
Matteosister
11
Nachdem Sie den ppa hinzugefügt haben, können Sie
Folgendes
2
Nach der Installation von ppa, dem Upgrade von php und dem Ausführen beginnen php -vdie Versionsinformationen mit der folgenden Fehlermeldung: Fehler beim Laden von /usr/lib/php5/20090626/xdebug.so: /usr/lib/php5/20090626/xdebug.so: kann shared nicht öffnen Objektdatei: Keine solche Datei oder Verzeichnis Ärgerlich.
Systemovich
3
Verwenden Sie, apt-get install software-properties-commonwenn apt-get install python-software-propertiesder add-apt-repositoryBefehl nicht bereitgestellt wird .
Meetai.com
3

Es wird einige Zeit dauern, bis PHP 5.4-Pakete in Ubuntu angekommen sind, da es sehr viele Abhängigkeitsüberprüfungen gibt. Ubuntu 12.04 ist jetzt in der Beta-Phase, daher bezweifle ich, dass sie ein Upgrade auf PHP 5.4 durchführen werden (obwohl ich keine offiziellen oder internen Kenntnisse darüber habe) - es wird wahrscheinlich nicht vor Ubuntu 12.10 im Oktober dieses Jahres erscheinen. Wenn Sie es früher wollen, müssen Sie entweder ein Paket eines Drittanbieters finden oder lernen, es selbst aus dem Quellcode zu erstellen.

Mike Scott
quelle