GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat php na RHEL 8 / CentOS 8 Linux

V systémech RHEL 8 / CentOS 8 Linux se způsob organizace softwaru změnil:kritické balíčky jsou nyní obsaženy v BaseOs úložiště, zatímco AppStream jeden obsahuje více verzí některých nejběžněji používaných aplikací a programovacích jazyků, které jsou uspořádány do modulů a aktualizovány nezávisle na cyklu vydání distribuce. Tato strategie byla přijata, aby se předešlo problému, že zůstanete u určitého, příliš zastaralého nebo příliš nedávného vydání určitého softwaru.

V tomto tutoriálu se naučíte:

  • Jak nainstalovat PHP na RHEL 8 / CentOS 8
  • Co jsou softwarové moduly v RHEL 8 / CentOS 8
  • Jak nainstalovat a přepínat mezi různými verzemi modulu PHP

Dostupné php moduly na RHEL 8

Požadavky na software a použité konvence

Softwarové požadavky a konvence příkazového řádku systému Linux
Kategorie Požadavky, konvence nebo použitá verze softwaru
Systém RHEL 8 / CentOS 8
Software K provedení tohoto výukového programu není potřeba žádný další software
Jiné Oprávnění ke spuštění příkazu s právy root.
Konvence # – vyžaduje, aby dané linuxové příkazy byly spouštěny s právy root buď přímo jako uživatel root, nebo pomocí sudo příkaz
$ – vyžaduje, aby dané linuxové příkazy byly spouštěny jako běžný neprivilegovaný uživatel

Co je PHP?

PHP (PHP:Hypertext Preprocessor) nepotřebuje mnoho prezentací:tento univerzální programovací jazyk původně vytvořil v roce 1994 Rasmus Lerdorf a je vydán pod licencí PHP jako open source software. Jeho hlavní oblastí použití je web, ale jazyk lze použít i v jiných kontextech. RHEL 8 / CentOS 8 je dodáván se dvěma hlavními povolenými repozitáři:BaseOs a AppStream .

První obsahuje základní
balíčky distribuce, které sledují životní cyklus samotné distribuce; druhý obsahuje různé verze několika aplikací v uživatelském prostoru, které jsou aktualizovány nezávisle na hlavní distribuci. Software obsažený v posledně jmenovaném je organizován do modules . Každý modul poskytuje různé verze aplikace, což umožňuje přepínat mezi dostupnými (ale ne instalovat je současně). V tomto tutoriálu uvidíme, jak snadné je nainstalovat PHP a přepínat mezi různými verzemi tohoto jazyka v distribucích RHEL 8 / CentOS 8.

Jaká verze PHP?

Zatímco verze 5.6 PHP je nyní oficiálně mrtvá (dosáhla EOL 1. ledna 2019), v současnosti jsou udržovány tři větve programovacího jazyka:7.1 , která ve skutečnosti dostává pouze opravy zabezpečení a bude opravena do 1. prosince 2019, a verze 7.2 a 7.3 , která bude podporována do 30. listopadu 2020 a 6. prosince 2021.

Verze PHP dodávaná ve výchozím nastavení v RHEL 8 / CentOS 8 z AppStream úložiště je 7.2.11 , jak můžeme ověřit spuštěním dnf info php příkaz, který vrátí následující výstup:

Available Packages
Name         : php
Version      : 7.2.11
Release      : 1.el8+2002+9409c40c
Arch         : x86_64
Size         : 1.5 M
Source       : php-7.2.11-1.el8+2002+9409c40c.src.rpm
Repo         : rhel-8-for-x86_64-appstream-beta-rpms
Summary      : PHP scripting language for creating dynamic web sites
URL          : http://www.php.net/
License      : PHP and Zend and BSD and MIT and ASL 1.0
Description  : PHP is an HTML-embedded scripting language. PHP attempts to make it
             : easy for developers to write dynamically generated web pages. PHP also
             : offers built-in database integration for several commercial and
             : non-commercial database management systems, so writing a
             : database-enabled webpage with PHP is fairly simple. The most common
             : use of PHP coding is probably as a replacement for CGI scripts.
             :
             : The php package contains the module (often referred to as mod_php)
             : which adds support for the PHP language to Apache HTTP Server.

Jsou v AppStream k dispozici další verze PHP? úložiště?. K zodpovězení této otázky můžeme spustit vyhrazený dílčí příkaz dnf, module a zeptejte se na informace o PHP modulu pomocí list akce:

$ sudo dnf module list php
Red Hat Enterprise Linux 8 for x86_64 - AppStream Beta (RPMs)
Name                       Stream                        Profiles                                          Summary
php                        7.1                           devel, minimal, default [d]                       PHP scripting language
php                        7.2 [d]                       devel, minimal, default [d]                       PHP scripting language

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

Při spuštění dnf module list příkaz, ve výchozím nastavení se zobrazí všechny dostupné moduly. Chcete-li omezit dotaz pouze na konkrétní modul, poskytneme příkazu název modulu. V tomto případě vidíme, že pro modul PHP existují dva streamy, pokrývající verze 7.1 a 7.2 jazyka a souvisejících knihoven. Jak jsme viděli, poslední verze je ta, která se instaluje ve výchozím nastavení:ve výstupu příkazu, který spustíme výše, je toto zvýrazněno použitím [d] značka ve druhém sloupci, která, jak je uvedeno v legendě, znamená default .

Další zajímavou částí výstupu jsou Profiles sloupec, kde jsou hlášeny dostupné profily pro stream. Lze nainstalovat více profilů současně a každý z nich obsahuje jinou sadu balíčků. [d] zápis se zde také používá k označení výchozího profilu vybraného při instalaci streamu.

Pro instalaci balíčku konkrétního streamu softwarového modulu musíme použít name:stream/profile notový zápis. Chcete-li například nainstalovat verzi 7.1 PHP, můžeme spustit:

$ sudo dnf module install php:7.1/default

V tomto případě jsme mohli název profilu vynechat, protože default Pokud není zadán jiný, použije se automaticky. Pokud použijeme stejný příkaz, jaký jsme spustili výše, nyní vidíme, že 7.1 stream je označen [e] , což znamená povoleno, a default profil streamu je označen [i] , což znamená, že profil streamu je nainstalován:

$ sudo dnf module list php
Red Hat Enterprise Linux 8 for x86_64 - AppStream Beta (RPMs)
Name                      Stream                       Profiles                                             Summary
php                       7.1 [e]                      devel, minimal, default [d] [i]                      PHP scripting language
php                       7.2 [d]                      devel, minimal, default [d]                          PHP scripting language

Pokud máme nainstalovaný stream a chceme přejít na jiný z dostupných, můžeme si ten druhý jednoduše nainstalovat:balíčky budou automaticky upgradovány nebo downgradovány v závislosti na situaci. Chcete-li přejít na 7.2 stream, například bychom spustili:

$ sudo dnf module install php:7.2/default
=======================================================================================================================================================
 Package                    Arch                 Version                                     Repository                                           Size
=======================================================================================================================================================
Upgrading:
 php-common                 x86_64               7.2.11-1.el8+2002+9409c40c                  rhel-8-for-x86_64-appstream-beta-rpms               653 k
 php-mbstring               x86_64               7.2.11-1.el8+2002+9409c40c                  rhel-8-for-x86_64-appstream-beta-rpms               580 k
 php-xml                    x86_64               7.2.11-1.el8+2002+9409c40c                  rhel-8-for-x86_64-appstream-beta-rpms               188 k
 php-fpm                    x86_64               7.2.11-1.el8+2002+9409c40c                  rhel-8-for-x86_64-appstream-beta-rpms               1.6 M
 php-json                   x86_64               7.2.11-1.el8+2002+9409c40c                  rhel-8-for-x86_64-appstream-beta-rpms                73 k
 php-cli                    x86_64               7.2.11-1.el8+2002+9409c40c                  rhel-8-for-x86_64-appstream-beta-rpms               3.1 M
Switching module streams:
 php                                             7.1 -> 7.2

Transaction Summary
=======================================================================================================================================================
Upgrade  6 Packages

Total download size: 6.2 M
Is this ok [y/N]: y

Podobně, pokud chceme odstranit konkrétní stream modulu, můžeme použít remove akci namísto „instalace“. To způsobí odstranění streamu:pokud zadáme profil, budou odstraněny pouze balíčky patřící k tomuto profilu, v opačném případě budou akce zajímat všechny profily streamu. Chcete-li například odinstalovat všechny balíčky patřící do všech profilů 7.2 stream, jednoduše bychom spustili:

$ sudo dnf module remove php:7.2

Chcete-li odstranit pouze balíčky související s devel profilu stejného streamu, místo toho bychom spustili:

$ sudo dnf module remove php:7.2/devel

Závěry

Nová verze Red Hat Enterprise Linux přichází se změnou ve způsobu organizace softwaru. BaseOs úložiště obsahuje balíčky, které představují jádro distribucí, a následuje cyklus vydání, AppStream jeden místo toho obsahuje software pro uživatelský prostor organizovaný v modulech poskytujících různé verze nebo „streamy“ dostupné k instalaci:PHP je také poskytováno tímto způsobem.

Verze PHP dostupné ve
výchozím nastavení v RHEL 8 / CentOS 8 jsou 7.1.20 a 7.2.11 . Je možné nainstalovat další verze programovacího jazyka z externích úložišť, jako je Remi, ale pokud to není nezbytně nutné, doporučuji se držet výchozích zdrojů softwaru.


Cent OS
  1. Jak nainstalovat PHP 7.4 / 7.3 / 7.2 na CentOS 7 / RHEL 7 &CentOS 6 / RHEL 6

  2. Jak nainstalovat PHP 7.4 / 7.3 na CentOS 8 / RHEL 8

  3. Jak nainstalovat PHP 5.5 na CentOS

  1. Jak nainstalovat PHP 7, 7.2 a 7.3 na CentOS 7

  2. Jak nainstalovat PHP 7.3, 7.2, 7.1 na CentOS/RHEL 6.10

  3. Jak nainstalovat PHP 8 na CentOS 8 Linux

  1. Jak nainstalovat redmine na RHEL 8 / CentOS 8 Linux

  2. Jak nainstalovat Xdebug na RHEL 8 / CentOS 8 Linux

  3. Jak nainstalovat hvězdičku na RHEL 8 / CentOS 8 Linux