GNU/Linux >> Znalost Linux >  >> OpenSuse

Jak nainstalovat PHP 8.0 na openSUSE 15 Leap

PHP 8.0 je významná aktualizace jazyka PHP vydaná 26. listopadu 2020, obrovský skok vpřed oproti stávající verzi PHP 7.4. Nové PHP obsahuje mnoho nových funkcí a optimalizací, včetně pojmenovaných argumentů, typů sjednocení, atributů, propagace vlastností konstruktoru, výrazu shody, operátorů null safe, JIT a vylepšení v typovém systému, zpracování chyb a konzistenci.

V následujícím tutoriálu se dozvíte, jak nainstalovat PHP 8.0 na openSUSE 15 Leap .

Předpoklady

  • Doporučený operační systém: openSUSE Leap – 15.x
  • Uživatelský účet: Uživatelský účet s přístupem sudo nebo root.

Aktualizujte operační systém

Aktualizujte své openSUSE operační systém, abyste se ujistili, že všechny existující balíčky jsou aktuální:

sudo zypper refresh

Po obnovení spusťte příkaz update.

sudo zypper update

Výukový program bude používatpříkaz sudo a za předpokladu, že máte status sudo .

Chcete-li ověřit stav sudo na vašem účtu:

sudo whoami

Ukázkový výstup zobrazující stav sudo:

[joshua@opensuse ~]$ sudo whoami
root

Chcete-li nastavit stávající nebo nový účet sudo, navštivte náš tutoriál o přidání uživatele do Sudoers na openSUSE .

Chcete-li použít rootový účet , použijte k přihlášení následující příkaz s heslem uživatele root.

su

Import a instalace rozšíření PHP

Prvním úkolem je nainstalovat server:php:extensions ve vašem terminálu openSUSE. V závislosti na verzi openSUSE, kterou aktuálně používáte, se to však může lišit. Níže jsou uvedeny dva příklady nejnovějších a předchozích verzí openSUSE Leap.

Importovat server:php:extensions pro openSUSE Leap 15.3 :

sudo zypper addrepo https://download.opensuse.org/repositories/home:/Padom/15.3/home:Padom.repo

Importujte server:php:extensions pro openSUSE Leap 15. 2:

sudo zypper addrepo https://download.opensuse.org/repositories/server:php:extensions/openSUSE_Leap_15.2/server:php:extensions.repo

Import server:php:extensions pro openSUSE Leap 15.1:

sudo zypper addrepo https://download.opensuse.org/repositories/server:php:extensions/openSUSE_Leap_15.1/server:php:extensions.repo

Ukázkový výstup importu 15.3:

U novějších verzí postupujte podle vzorce. Po dokončení obnovte úložiště.

sudo zypper refresh

Budete vyzváni k zadání klíče GPG a k odmítnutí, dočasnému důvěřování nebo vždy.

Příklad:

Zadejte “a“, poté stiskněte TLAČÍTKO ENTER pokračujte v importu klíče GPG.

Nainstalujte PHP 8.0

Nyní, když jste importovali a nainstalovali úložiště rozšíření PHP pro váš systém openSUSE, nainstalujte PHP 8.0 pomocí následujícího příkazu.

sudo zypper install php8

Příklad výstupu:

Zadejte „Y“, poté stiskněte klávesu ENTER pokračujte v instalaci.

Nyní, když jste nainstalovali PHP 8.0 a rozšíření, zkontrolujte verzi pomocí následujícího příkazu:

php -v

Ukázkový výstup níže, nezapomeňte, že se časem změní:

PHP 8.0.11 (cli) (built: Sep 23 2021 12:00:00) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.11, Copyright (c) Zend Technologies

Jak hledat balíčky PHP 8.0

Ve výchozím nastavení je při instalaci PHP 8.0 nainstalováno pouze několik hlavních balíčků. Jak však většina obeznámených s PHP ví, můžete nainstalovat mnoho dalších doplňků pro různé aplikace nebo požadavky.

Chcete-li vyhledat další balíčky v úložišti rozšíření PHP, použijte ve svém terminálu následující příkaz.

sudo zypper search php8

Příklad výstupu:

Loading repository data...
Reading installed packages...

S  | Name                     | Summary                                                   | Type
---+--------------------------+-----------------------------------------------------------+-----------
   | php8                     | Interpreter for the PHP scripting language version 8      | srcpackage
i+ | php8                     | Interpreter for the PHP scripting language version 8      | package
   | php8-APCu                | APCu - APC User Cache                                     | srcpackage
   | php8-APCu                | APCu - APC User Cache                                     | package
   | php8-bcmath              | "Binary Calculator" extension for PHP                     | package
   | php8-bcmath-debuginfo    | Debug information for package php8-bcmath                 | package
   | php8-bz2                 | bzip2 codec support for PHP                               | package
   | php8-bz2-debuginfo       | Debug information for package php8-bz2                    | package
   | php8-calendar            | PHP8 Extension Module                                     | package
   | php8-calendar-debuginfo  | Debug information for package php8-calendar               | package
i  | php8-cli                 | Interpreter for the PHP scripting language version 8      | package
   | php8-cli-debuginfo       | Debug information for package php8-cli                    | package
i  | php8-ctype               | Character class extension for PHP                         | package
   | php8-ctype-debuginfo     | Debug information for package php8-ctype                  | package
   | php8-curl                | libcurl integration for PHP                               | package
   | php8-curl-debuginfo      | Debug information for package php8-curl                   | package
   | php8-dba                 | Database abstraction layer for PHP                        | package
   | php8-dba-debuginfo       | Debug information for package php8-dba                    | package
   | php8-debuginfo           | Debug information for package php8                        | package
   | php8-debugsource         | Debug sources for package php8                            | package
   | php8-devel               | PHP8 development files for C/C++ extensions               | package
i  | php8-dom                 | Document Object Model extension for PHP                   | package
   | php8-dom-debuginfo       | Debug information for package php8-dom                    | package
   | php8-enchant             | Spell checking extension for PHP                          | package
   | php8-enchant-debuginfo   | Debug information for package php8-enchant                | package
   | php8-exif                | EXIF metadata extensions for PHP                          | package
   | php8-exif-debuginfo      | Debug information for package php8-exif                   | package
   | php8-fileinfo            | File identification extension for PHP                     | package
   | php8-fileinfo-debuginfo  | Debug information for package php8-fileinfo               | package
   | php8-ftp                 | FTP protocol support for PHP                              | package
   | php8-ftp-debuginfo       | Debug information for package php8-ftp                    | package
   | php8-gd                  | GD Graphics Library extension for PHP                     | package
   | php8-gd-debuginfo        | Debug information for package php8-gd                     | package
   | php8-gettext             | Native language support for PHP                           | package
   | php8-gettext-debuginfo   | Debug information for package php8-gettext                | package
   | php8-gmagick             | Wrapper to the GraphicsMagick library                     | srcpackage
   | php8-gmagick             | Wrapper to the GraphicsMagick library                     | package
   | php8-gmp                 | Bignum extension for PHP                                  | package
   | php8-gmp-debuginfo       | Debug information for package php8-gmp                    | package
   | php8-gnupg               | PHP wrapper around the gpgme library                      | srcpackage
   | php8-gnupg               | PHP wrapper around the gpgme library                      | package
   | php8-ice                 | PHP framework delivered as C extension                    | srcpackage
   | php8-ice                 | PHP framework delivered as C extension                    | package
i  | php8-iconv               | Character set conversion functions for PHP                | package
   | php8-iconv-debuginfo     | Debug information for package php8-iconv                  | package
   | php8-imagick             | Wrapper to the ImageMagick library                        | srcpackage
   | php8-imagick             | Wrapper to the ImageMagick library                        | package
   | php8-intl                | ICU integration for PHP                                   | package
   | php8-intl-debuginfo      | Debug information for package php8-intl                   | package
   | php8-ldap                | LDAP protocol support for PHP                             | package
   | php8-ldap-debuginfo      | Debug information for package php8-ldap                   | package
   | php8-lzf                 | LZF compression                                           | srcpackage
   | php8-lzf                 | LZF compression                                           | package
   | php8-maxminddb           | PHP extension providing access to maxminddb databases     | srcpackage
   | php8-maxminddb           | PHP extension providing access to maxminddb databases     | package
   | php8-mbstring            | Multibyte string functions for PHP                        | package
   | php8-mbstring-debuginfo  | Debug information for package php8-mbstring               | package
   | php8-memcache            | PHP Memcache client Extension                             | srcpackage
   | php8-memcache            | PHP Memcache client Extension                             | package
   | php8-memcached           | PHP MemcacheD client Extension                            | srcpackage
   | php8-memcached           | PHP MemcacheD client Extension                            | package
   | php8-mysql               | MySQL database client for PHP                             | package
   | php8-mysql-debuginfo     | Debug information for package php8-mysql                  | package
   | php8-odbc                | ODBC extension for PHP                                    | package
   | php8-odbc-debuginfo      | Debug information for package php8-odbc                   | package
   | php8-opcache             | Opcode cache extension for PHP                            | package
   | php8-opcache-debuginfo   | Debug information for package php8-opcache                | package
i  | php8-openssl             | OpenSSL integration for PHP                               | package
   | php8-openssl-debuginfo   | Debug information for package php8-openssl                | package
   | php8-pcntl               | Process Control extension for PHP                         | package
   | php8-pcntl-debuginfo     | Debug information for package php8-pcntl                  | package
i  | php8-pdo                 | PHP Data Objects extension for PHP                        | package
   | php8-pdo-debuginfo       | Debug information for package php8-pdo                    | package
   | php8-pear                | PHP Extension and Application Repository                  | package
   | php8-pear                | PHP Extension and Application Repository                  | srcpackage
   | php8-pecl                | PHP Extension Community Library                           | package
   | php8-pgsql               | PostgreSQL database client for PHP                        | package
   | php8-pgsql-debuginfo     | Debug information for package php8-pgsql                  | package
   | php8-phar                | PHP Archive extension for PHP                             | package
   | php8-phar-debuginfo      | Debug information for package php8-phar                   | package
   | php8-posix               | POSIX functions for PHP                                   | package
   | php8-posix-debuginfo     | Debug information for package php8-posix                  | package
   | php8-psr                 | PSR Extension Module                                      | srcpackage
   | php8-psr                 | PSR Extension Module                                      | package
   | php8-readline            | PHP8 readline extension                                   | package
   | php8-readline-debuginfo  | Debug information for package php8-readline               | package
   | php8-redis               | API for communicating with Redis servers                  | srcpackage
   | php8-redis               | API for communicating with Redis servers                  | package
   | php8-shmop               | Alternate, low-level shared memory implementation for PHP | package
   | php8-shmop-debuginfo     | Debug information for package php8-shmop                  | package
   | php8-smbclient           | A PHP wrapper for libsmbclient                            | srcpackage
   | php8-smbclient           | A PHP wrapper for libsmbclient                            | package
   | php8-snmp                | SNMP extension for PHP                                    | package
   | php8-snmp-debuginfo      | Debug information for package php8-snmp                   | package
   | php8-soap                | SOAP/WSDL extension module for PHP                        | package
   | php8-soap-debuginfo      | Debug information for package php8-soap                   | package
   | php8-sockets             | Berkeley sockets API for PHP                              | package
   | php8-sockets-debuginfo   | Debug information for package php8-sockets                | package
   | php8-sodium              | Cryptographic Extension Based on Libsodium                | package
   | php8-sodium-debuginfo    | Debug information for package php8-sodium                 | package
i  | php8-sqlite              | SQLite database client for PHP                            | package
   | php8-sqlite-debuginfo    | Debug information for package php8-sqlite                 | package
   | php8-sysvmsg             | SysV Message Queue support for PHP                        | package
   | php8-sysvmsg-debuginfo   | Debug information for package php8-sysvmsg                | package
   | php8-sysvsem             | SysV Semaphore support for PHP                            | package
   | php8-sysvsem-debuginfo   | Debug information for package php8-sysvsem                | package
   | php8-sysvshm             | SysV Shared Memory support for PHP                        | package
   | php8-sysvshm-debuginfo   | Debug information for package php8-sysvshm                | package
   | php8-tidy                | PHP8 binding for the Tidy HTML cleaner                    | package
   | php8-tidy-debuginfo      | Debug information for package php8-tidy                   | package
i  | php8-tokenizer           | Extension module to access Zend Engine's PHP tokenizer    | package
   | php8-tokenizer-debuginfo | Debug information for package php8-tokenizer              | package
   | php8-uploadprogress      | An php extension to track progress of a file upload       | srcpackage
   | php8-uploadprogress      | An php extension to track progress of a file upload       | package
   | php8-uuid                | PHP UUID support functions                                | srcpackage
   | php8-uuid                | PHP UUID support functions                                | package
   | php8-xdebug              | Extended PHP debugger                                     | srcpackage
   | php8-xdebug              | Extended PHP debugger                                     | package
i  | php8-xmlreader           | Streaming XML reader extension for PHP                    | package
   | php8-xmlreader-debuginfo | Debug information for package php8-xmlreader              | package
i  | php8-xmlwriter           | Streaming-based XML writer extension for PHP              | package
   | php8-xmlwriter-debuginfo | Debug information for package php8-xmlwriter              | package
   | php8-xsl                 | PHP8 Extension Module                                     | package
   | php8-xsl-debuginfo       | Debug information for package php8-xsl                    | package
   | php8-zip                 | ZIP archive support for PHP                               | package
   | php8-zip-debuginfo       | Debug information for package php8-zip                    | package
   | php8-zlib                | Zlib compression support for PHP                          | package
   | php8-zlib-debuginfo      | Debug information for package php8-zlib                   | package

Chcete-li nainstalovat rozšíření PHP 8.0 Redis ze seznamu, spustili byste následující příkaz:

sudo zypper install php8-redis

Příklad výstupu:

Zadejte „Y“, poté stiskněte klávesu ENTER pokračujte v instalaci.

Stejný princip lze použít pro PHP 7.4. Stačí nahradit 8 za 7.

sudo zypper search php7

Ve výchozím nastavení budou všechny balíčky nainstalované s php7 PHP 7.4.

Nginx – Jak nainstalovat PHP-FPM

Ve výchozím nastavení Nginx FPM modul nepřichází nativně v rozšířeních PHP od openSUSE. Chcete-li to nainstalovat, budete muset nainstalovat jedno z komunitních úložišť. Jedním z doporučených je Padom’s repository který je uveden jako alternativa při vyhledávání balíčků openSUSE.

Nejprve budete muset přidat příslušné úložiště.

openSUSE Leap 15.3

sudo zypper addrepo https://download.opensuse.org/repositories/home:/Padom/15.3/home:Padom.repo

openSUSE Leap 15.2:

sudo zypper addrepo https://download.opensuse.org/repositories/home:Padom/openSUSE_Leap_15.2/home:Padom.repo

openSUSE Leap 15.1:

sudo zypper addrepo https://download.opensuse.org/repositories/home:Padom/openSUSE_Leap_15.1/home:Padom.repo

Obnovte úložiště a přijměte import GPG z úložiště, které jste vybrali.

sudo zypper refresh

Dále nainstalujte rozšíření Nginx PHP-FPM 8.

sudo zypper install php8-fpm

Budete vyzváni k zadání klíče GPG a k odmítnutí, dočasnému důvěřování nebo vždy.

Příklad výstupu:

Zadejte “a“, poté stiskněte TLAČÍTKO ENTER pokračujte v importu klíče GPG.

Příklad výstupu:

Zadejte „Y“, poté stiskněte klávesu ENTER pokračujte v instalaci.

Po instalaci zkopírujte výchozí konfigurační soubory na jejich příslušné názvy.

Pokud tak neučiníte, PHP-FPM zobrazí chybový stav.

sudo cp /etc/php8/fpm/php-fpm.conf.default /etc/php8/fpm/php-fpm.conf
sudo cp /etc/php8/fpm/php-fpm.d/www.conf.default /etc/php8/fpm/php-fpm.d/www.conf

Nyní je standardně PHP-FPM zakázáno. Chcete-li povolit PHP FPM, použijte následující příkaz.

sudo systemctl enable php-fpm --now

Dále se ujistěte, že PHP-FPM funguje správně.

sudo systemctl status php-fpm

Příklad výstupu:

Jak je uvedeno výše, PHP-FPM funguje správně a bude aktualizováno pomocí komunitního úložiště. Případně můžete nainstalovat všechna svá rozšíření PHP 8 z tohoto úložiště. Je vysoce ceněný a, stejně jako přidaný FPM, má více rozšíření než oficiální úložiště.


OpenSuse
  1. Jak nainstalovat Mongodb 5 v Opensuse Leap 15.3

  2. Jak nainstalovat Java 17 v OpenSUSE Leap 15.3

  3. Jak nainstalovat PHP 8 na Fedoru 35

  1. Jak nainstalovat PHP 8 na Ubuntu 20.04

  2. Jak nainstalovat PHP na CentOS 8

  3. Jak nainstalovat PHP 7.4 na Ubuntu 20.04

  1. Jak nainstalovat OpenSUSE Leap 42.1 KDE Desktop

  2. Jak nainstalovat Skype na openSUSE Leap

  3. Jak nainstalovat Apache, MariaDB, PHP7 (LAMP) na openSUSE Leap 15.1