Frage Wie installiere ich verschiedene (Upgrade oder Downgrade) PHP Version in noch unterstützter Ubuntu Version?


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 bekommen Verwenden von offiziellen Repositories (mit apt-get).

Ich bin nicht wirklich sicher, wie man ein manuelles Update macht - wie ich brauche:

  • um mit den neuen (est) PHP Funktionen herumzuspielen
  • Um ältere PHP-Version zu installieren, wird die Unterstützung in der Software benötigt

224
2018-03-02 14:45


Ursprung


Wenn sudo apt-get upgrade PHP nicht upgraden, versuchen Sie es mit sudo apt-get dist-upgrade. Für das Vertriebsupgrade. - Moiz Kiyani


Antworten:


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

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

  • ppa: ondrej / php Launchpad logo (Für koinstallierbare PHP 5.6 / 7.0 / 7.1 Versionen wird PHP 5.5 nicht mehr unterstützt)

Die php5 compat Pakete:

  • ppa: ondrej / php5-compat Launchpad logo (für dummy php5 Abhängigkeiten in den alten Paketen zu befriedigen)

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

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

  • ppa: ondrej / apache2 Launchpad logo (für Apache 2.4)

Wenn Sie diese PPAs verwenden möchten, tun Sie Folgendes:

ppa: ondrej / php Launchpad 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 mit der richtigen Version arbeiten:

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 Launchpad 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 nicht haben add-apt-repository binär mache folgendes:

sudo apt-get install python-software-properties

Vorsichtsmaßnahmen:

PHP 5.4

Das vorinstallierte neueste PHP 5.4 befindet sich jetzt in einem separaten PPA: ppa: ondrej / php5-oldstable Launchpad logo

Bitte beachten Sie, dass PHP 5.4 sein Lebensende erreicht hat 3. September 2015 und es erhält keine Sicherheitsupdates. Es wird empfohlen, mindestens PHP 5.6 zu migrieren, für das die Sicherheit aktualisiert wird 31. Dezember 2018.


288
2018-03-02 14:58



Stellt sich heraus, du musst laufen sudo apt-get update zuerst! - kavisiegel
Dafür gibt es das php5-cli-Paket! - matteosister
Nach dem Hinzufügen der ppa, könnten Sie tun: sudo apt-get dist-upgrade - matteosister
Nach der Installation der PPA, upgrade PHP und läuft php -v, die Versionsinformation beginnt mit dieser Fehlermeldung: Fehler beim Laden von /usr/lib/php5/20090626/xdebug.so: /usr/lib/php5/20090626/xdebug.so: Gemeinsame Objektdatei kann nicht geöffnet werden: Keine solche Datei oder kein VerzeichnisNervig. - systemovich
Benutzen apt-get install software-properties-common ob apt-get install python-software-properties bietet nicht die add-apt-repository Befehl. - Meetai.com


Es wird einige Zeit dauern, bis PHP 5.4-Pakete ihren Weg in Ubuntu finden, da es eine Menge von Abhängigkeitsprüfungen zu tun gibt. Ubuntu 12.04 ist jetzt in der Beta, also bezweifle ich, dass sie es auf PHP 5.4 upgraden wird (obwohl ich kein offizielles oder inneres Wissen davon habe) - es wird wahrscheinlich nicht erscheinen bis Ubuntu 12.10 im Oktober dieses Jahres. Wenn Sie es früher wünschen, müssen Sie entweder ein Paket eines Drittanbieters finden oder lernen, es selbst aus dem Quellcode zu erstellen.


3