GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak přepínat mezi více verzemi PHP v Ubuntu

Tento krátký tutoriál vás provede kroky k přepínání mezi více verzemi PHP v Ubuntu Linux a jeho derivátech. Tato příručka je oficiálně testována na serverové edici Ubuntu 18.04 LTS. Může fungovat i na jiných starších nebo novějších verzích Ubuntu.

Úvod

Někdy nemusí nejnovější verze nainstalovaného balíčku fungovat tak, jak jste očekávali. Vaše aplikace nemusí být kompatibilní s aktualizovaným balíčkem a podporuje pouze konkrétní starou verzi balíčku.

V takových případech můžete problémový balíček jednoduše během okamžiku downgradovat na jeho dřívější pracovní verzi. Podívejte se na naše staré průvodce, jak downgradovat balíček v Ubuntu a jeho variantách zde a jak downgradovat balíček v Arch Linuxu a jeho derivátech zde .

V některých situacích nemusíte problematické balíčky downgradovat. V Linuxu můžeme používat více verzí stejného balíčku současně, vedle sebe.

Řekněme například, že testujete aplikaci PHP v zásobníku LAMP nasazeno v Ubuntu 18.04 LTS. Po chvíli zjistíte, že aplikace fungovala dobře v PHP 5.6, ale ne v PHP 7.2 (Ubuntu 18.04 LTS instaluje PHP 7.x ve výchozím nastavení).

Chystáte se znovu přeinstalovat PHP nebo celý zásobník LAMP? Není nutné.

Nemusíte ani downgradovat PHP na dřívější verzi. Můžete jednoduše přejít na předchozí pracovní verzi PHP během několika minut.

1. Přepínání mezi více verzemi PHP

Zkontrolujeme výchozí nainstalovanou verzi PHP pomocí příkazu:

$ php -v

Ukázkový výstup:

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

Jak můžete vidět, nainstalovaná verze PHP je 7.2.7.

Po několika dnech testování aplikace zjistíte, že vaše aplikace nepodporuje PHP 7.2. V takovém případě je dobré mít verzi PHP 5.x i verzi PHP 7.x, abyste mohli kdykoli snadno přepínat mezi jakoukoli podporovanou verzí.

Nemusíte odstraňovat PHP 7.x ani znovu instalovat zásobník LAMP. Můžete používat obě verze PHP 5.xa 7.x společně.

Předpokládám, že jste ve svém systému ještě neodinstalovali php 5.6. Pro případ, že jste jej již odstranili, můžete jej znovu nainstalovat pomocí PPA, jak je uvedeno níže.

PHP 5.6 můžete nainstalovat z PPA:

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

1.1. Přejděte z PHP 7.x na PHP 5.x

1.1.1 Nejprve deaktivujte modul PHP 7.2 pomocí příkazu:

$ sudo a2dismod php7.2

Ukázkový výstup:

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

1.1.2. Dále povolte modul PHP 5.6:

$ sudo a2enmod php5.6

1.1.3 Nastavte PHP 5.6 jako výchozí verzi pomocí příkazu:

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

1.1.4. Případně můžete spustit následující příkaz a nastavit, kterou systémovou verzi PHP chcete jako výchozí používat.

$ sudo update-alternatives --config php

1.1.5. Zadejte číslo výběru, chcete-li jej nastavit jako výchozí verzi, nebo jednoduše stiskněte ENTER pro zachování aktuální volby.

1.1.6. Pokud jste nainstalovali další rozšíření PHP, nastavte je také jako výchozí.

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

1.1.7. Nakonec restartujte webový server Apache:

$ sudo systemctl restart apache2

Nyní zkontrolujte, zda je PHP 5.6 výchozí verzí nebo ne:

$ php -v

Ukázkový výstup:

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. Přejděte z PHP 5.x na PHP 7.x

Podobně můžete přejít z verze PHP 5.x na verzi PHP 7.x spuštěním následujících příkazů jeden po druhém.

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

Upozornění:

Finální stabilní verze PHP 5.6 dosáhla konce aktivní podpory od 19. ledna 2017. PHP 5.6 však bude i nadále dostávat podporu pro kritické bezpečnostní problémy až do 31. prosince 2018. Doporučuje se tedy co nejdříve upgradovat všechny vaše aplikace PHP, aby byly kompatibilní s PHP 7 .x.

Pokud chcete zabránit automatické aktualizaci PHP v budoucnu, podívejte se na následující průvodce.

  • Jak zabránit automatické instalaci, upgradu nebo odebrání balíčku v Ubuntu

A to je zatím vše. Doufám, že to pomůže.


Ubuntu
  1. Jak přepínat mezi více verzemi kompilátoru GCC a G++ na Ubuntu 20.04 LTS Focal Fossa

  2. Jak nainstalovat PHP 8.0 na Ubuntu 20.04 / Ubuntu 18.04

  3. Jak nainstalovat / přepínat mezi více verzemi Java pomocí SDKMAN

  1. Jak nainstalovat více verzí PHP na Ubuntu 18.04 LTS

  2. Jak nainstalovat PHP 7.2 na Ubuntu 16.04

  3. Jak spustit více verzí PHP s Nginx na Ubuntu?

  1. Jak přepínat mezi více verzemi kompilátoru GCC a G++ na Ubuntu 22.04 LTS Jammy Jellyfish

  2. Jak nainstalovat PHP na Ubuntu 18.04

  3. Jak nainstalovat PHP na Ubuntu 20.04