GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come passare tra più versioni di PHP in Ubuntu

Questo breve tutorial ti guida attraverso i passaggi per passare da una versione di PHP all'altra in Ubuntu Linux e nei suoi derivati. Questa guida è ufficialmente testata sull'edizione server LTS di Ubuntu 18.04. Potrebbe funzionare anche su altre versioni di Ubuntu precedenti o più recenti.

Introduzione

A volte, la versione più recente di un pacchetto installato potrebbe non funzionare come previsto. La tua applicazione potrebbe non essere compatibile con il pacchetto aggiornato e supportare solo una specifica versione precedente del pacchetto.

In questi casi, puoi semplicemente eseguire il downgrade del pacchetto problematico alla sua versione di lavoro precedente in pochissimo tempo. Fai riferimento alle nostre vecchie guide su come eseguire il downgrade di un pacchetto in Ubuntu e le sue varianti qui e come eseguire il downgrade di un pacchetto in Arch Linux e i suoi derivati ​​qui .

In alcune situazioni, non è necessario eseguire il downgrade dei pacchetti problematici. In Linux, possiamo utilizzare più versioni dello stesso pacchetto contemporaneamente, fianco a fianco.

Ad esempio, supponiamo che tu stia testando un'applicazione PHP in stack LAMP distribuito in Ubuntu 18.04 LTS. Dopo un po' scopri che l'applicazione funzionava bene in PHP 5.6, ma non in PHP 7.2 (Ubuntu 18.04 LTS installa PHP 7.x per impostazione predefinita).

Hai intenzione di reinstallare nuovamente PHP o l'intero stack LAMP? Non necessario.

Non è nemmeno necessario eseguire il downgrade di PHP alla sua versione precedente. Puoi semplicemente passare alla versione precedente di PHP funzionante in un paio di minuti.

1. Passa tra più versioni di PHP

Controlliamo la versione predefinita installata di PHP usando il comando:

$ php -v

Risultato di esempio:

PHP 7.2.7-0ubuntu0.18.04.2 (cli) (built: Jul 4 2018 16:55:24) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.7-0ubuntu0.18.04.2, Copyright (c) 1999-2018, by Zend Technologies

Come puoi vedere, la versione installata di PHP è 7.2.7.

Dopo aver testato la tua applicazione per un paio di giorni, scopri che la tua applicazione non supporta PHP 7.2. In tal caso, è una buona idea avere sia la versione PHP 5.x che la versione PHP 7.x, in modo da poter passare facilmente da una versione supportata all'altra in qualsiasi momento.

Non è necessario rimuovere PHP 7.x o reinstallare lo stack LAMP. Puoi utilizzare entrambe le versioni di PHP 5.xe 7.x insieme.

Presumo che tu non abbia ancora disinstallato php 5.6 nel tuo sistema. Nel caso in cui l'avessi già rimosso, puoi installarlo di nuovo utilizzando un PPA come di seguito.

Puoi installare PHP 5.6 da un PPA:

$ sudo add-apt-repository -y ppa:ondrej/php
$ sudo apt update
$ sudo apt install php5.6

1.1. Passa da PHP 7.x a PHP 5.x

1.1.1 Per prima cosa disabilita il modulo PHP 7.2 usando il comando:

$ sudo a2dismod php7.2

Risultato di esempio:

Module php7.2 disabled.
To activate the new configuration, you need to run:
systemctl restart apache2

1.1.2. Quindi, abilita il modulo PHP 5.6:

$ sudo a2enmod php5.6

1.1.3 Imposta PHP 5.6 come versione predefinita usando il comando:

$ sudo update-alternatives --set php /usr/bin/php5.6

1.1.4. In alternativa, puoi eseguire il comando seguente per impostare quale versione di PHP a livello di sistema desideri utilizzare per impostazione predefinita.

$ sudo update-alternatives --config php

1.1.5. Immettere il numero di selezione per impostarlo come versione predefinita o premere semplicemente INVIO per mantenere la scelta corrente.

1.1.6. Se hai installato altre estensioni PHP, impostale anche come predefinite.

$ sudo update-alternatives --set phar /usr/bin/phar5.6

1.1.7. Infine, riavvia il tuo server web Apache:

$ sudo systemctl restart apache2

Ora, controlla se PHP 5.6 è la versione predefinita o meno:

$ php -v

Risultato di esempio:

PHP 5.6.37-1+ubuntu18.04.1+deb.sury.org+1 (cli) 
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

2. Passa da PHP 5.x a PHP 7.x

Allo stesso modo, puoi passare dalla versione PHP 5.x alla versione PHP 7.x eseguendo i seguenti comandi uno dopo l'altro.

$ sudo a2enmod php7.2
$ sudo a2dismod php5.6
$ sudo update-alternatives --set php /usr/bin/php7.2
$ sudo systemctl restart apache2

Un avvertimento:

La versione stabile finale di PHP 5.6 ha raggiunto la fine del supporto attivo a partire dal 19 gennaio 2017. Tuttavia, PHP 5.6 continuerà a ricevere supporto per problemi di sicurezza critici fino al 31 dicembre 2018. Pertanto, si consiglia di aggiornare tutte le applicazioni PHP per renderle compatibili con PHP 7 .x il prima possibile.

Se desideri impedire l'aggiornamento automatico di PHP in futuro, fai riferimento alla seguente guida.

  • Come impedire che un pacchetto venga installato, aggiornato o rimosso automaticamente in Ubuntu

E per ora è tutto. Spero che questo aiuti.


Ubuntu
  1. Come passare da più versioni del compilatore GCC e G++ su Ubuntu 20.04 LTS Focal Fossa

  2. Come installare PHP 8.0 su Ubuntu 20.04 / Ubuntu 18.04

  3. Come installare più versioni PHP su Ubuntu 18.04 LTS

  4. Come eseguire più versioni di PHP con Nginx su Ubuntu?

  5. Come installare/passare tra più versioni Java con SDKMAN

Come passare da Xorg a Wayland in Ubuntu

Come passare tra più versioni Java su Debian

Come installare PHP 8.0 su Ubuntu 20.04 / 18.04

Come installare diverse versioni di PHP (5.6, 7.x e 8.0) in Ubuntu

Come installare PHP in Ubuntu 22.04

Come installare PHP su Ubuntu 22.04