Domanda Come posso installare una versione PHP differente (upgrade o downgrade) nella versione di Ubuntu ancora supportata?


Sto cercando di aggiornare per installare PHP 5.5, 5.6 o 7.0 in Ubuntu 12.04 / 14.04 / 16.04 LTS, e posso ottenere solo PHP 5.3.10 per Ubuntu 12.04, PHP 5.5.9 per Ubuntu 14.04 o PHP 7.0.4 per Ubuntu 16.04 usando repository ufficiali (usando apt-get).

Non sono veramente sicuro di come fare un aggiornamento manuale - come ho bisogno:

  • per giocare con le nuove (est) funzionalità PHP
  • per installare la versione precedente di PHP è necessario il supporto nel software

224
2018-03-02 14:45


origine


se sudo apt-get upgrade Non aggiornare PHP quindi prova sudo apt-get dist-upgrade. Per l'aggiornamento della distribuzione. - Moiz Kiyani


risposte:


È possibile utilizzare un PPA per rimanere aggiornati con PHP o installare la versione precedente di PHP (ad esempio PHP 5.6 su Ubuntu 16.04 LTS).

I repository più usati provengono da Ondřej Surý, il manutentore Debian PHP:

  • ppa: Ondrej / php Launchpad logo (per PHP 5.6 / 7.0 / 7.1 versioni installabili, PHP 5.5 non è più supportato)

I pacchetti di php5 compat:

  • ppa: Ondrej / php5-compat Launchpad logo (per il manichino php5 per soddisfare le dipendenze nei vecchi pacchetti)

(Fare clic qui per istruzioni sull'uso di PPA.)

I PPA PHP precedentemente contenevano l'aggiornamento di Apache 2.4. Non è più un caso, è necessario aggiungere repository Apache 2.4 separato:

  • ppa: Ondrej / apache2 Launchpad logo (per Apache 2.4)

Se vuoi usare questi PPA, fai questo:

ppa: Ondrej / php Launchpad logo (per 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

Per passare tra le versioni installate utilizzare

sudo update-alternatives --config php

Quindi devi impostare Apache affinché funzioni con la versione corretta:

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 (per 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 

Se non lo hai add-apt-repository binario procedi come segue:

sudo apt-get install python-software-properties

Precauzioni:

PHP 5.4

L'ultimo PHP 5.4 pre-confezionato ora risiede in un PPA separato: ppa: Ondrej / php5-oldstable Launchpad logo

Si prega di essere consapevoli del fatto che PHP 5.4 ha raggiunto la fine della sua vita 3. Settembre 2015 e non riceve alcun aggiornamento di sicurezza. Si consiglia di migrare ad almeno PHP 5.6 che riceverà sicurezza aggiornata fino al 31. Dicembre 2018.


288
2018-03-02 14:58



Sembra che tu debba scappare sudo apt-get update primo! - kavisiegel
c'è il pacchetto php5-cli per questo! - matteosister
Dopo aver aggiunto il ppa, potresti fare: sudo apt-get dist-upgrade - matteosister
Dopo aver installato il ppa, l'aggiornamento di PHP e in esecuzione php -v, le informazioni sulla versione iniziano con questo messaggio di errore: Caricamento fallito /usr/lib/php5/20090626/xdebug.so: /usr/lib/php5/20090626/xdebug.so: impossibile aprire il file oggetto condiviso: nessun file o directoryFastidioso. - systemovich
Uso apt-get install software-properties-common Se apt-get install python-software-properties non fornisce il add-apt-repository comando. - Meetai.com


Ci vorrà un po 'di tempo prima che i pacchetti di PHP 5.4 entrino in Ubuntu, dato che ci sono un sacco di controlli di dipendenza da fare. Ubuntu 12.04 è ora in beta, quindi dubito che lo aggiorneranno a PHP 5.4 (anche se non ho alcuna conoscenza ufficiale o approfondita di questo) - probabilmente non apparirà fino a Ubuntu 12.10 ad ottobre di quest'anno. Se lo desideri prima, dovrai trovare un pacchetto di terze parti o imparare a crearlo tu stesso dal codice sorgente.


3