GNU/Linux >> Tutoriels Linux >  >> OpenSuse

Comment installer PHP 8.0 sur openSUSE 15 Leap

PHP 8.0 est une mise à jour importante du langage PHP publiée le 26 novembre 2020, un pas de géant par rapport à la version PHP 7.4 existante. Le nouveau PHP contient de nombreuses nouvelles fonctionnalités et optimisations, y compris les arguments nommés, les types d'union, les attributs, la promotion des propriétés du constructeur, l'expression de correspondance, les opérateurs null safe, le JIT et des améliorations dans le système de type, la gestion des erreurs et la cohérence.

Dans le tutoriel suivant, vous apprendrez comment installer PHP 8.0 sur openSUSE 15 Leap .

Prérequis

  • OS recommandé : openSUSE Leap – 15.x
  • Compte utilisateur : Un compte utilisateur avec un accès sudo ou root.

Mettre à jour le système d'exploitation

Mettez à jour votre openSUSE système d'exploitation pour s'assurer que tous les packages existants sont à jour :

sudo zypper refresh

Une fois actualisé, exécutez la commande de mise à jour.

sudo zypper update

Le tutoriel utilisera la commande sudo et en supposant que vous avez le statut sudo .

Pour vérifier le statut sudo sur votre compte :

sudo whoami

Exemple de sortie montrant l'état de sudo :

[joshua@opensuse ~]$ sudo whoami
root

Pour configurer un compte sudo existant ou nouveau, consultez notre didacticiel sur l'ajout d'un utilisateur à Sudoers sur openSUSE .

Pour utiliser le compte racine , utilisez la commande suivante avec le mot de passe root pour vous connecter.

su

Importer et installer des extensions PHP

La première tâche consiste à installer le server:php:extensions dans votre terminal openSUSE. Cependant, selon la version d'openSUSE que vous utilisez actuellement, cela peut varier. Vous trouverez ci-dessous deux exemples des versions les plus récentes et précédentes d'openSUSE Leap.

Serveur d'importation:php:extensions pour openSUSE Leap 15.3 :

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

Serveur d'importation:php:extensions pour openSUSE Leap 15. 2 :

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

Importer server:php:extensions pour openSUSE Leap 15.1 :

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

Exemple de sortie d'import 15.3 :

Pour les versions plus récentes, suivez la formule. Une fois terminé, actualisez le référentiel.

sudo zypper refresh

Vous serez invité à indiquer la clé GPG et à rejeter, approuver temporairement ou toujours.

Exemple :

Tapez "a", puis appuyez sur le "BOUTON ENTRÉE" pour procéder à l'importation de la clé GPG.

Installer PHP 8.0

Maintenant que vous avez importé et installé le référentiel d'extensions PHP pour votre système openSUSE, installez PHP 8.0 avec la commande suivante.

sudo zypper install php8

Exemple de résultat :

Tapez "O", puis appuyez sur la « TOUCHE ENTRÉE » pour poursuivre l'installation.

Maintenant que vous avez installé PHP 8.0 et les extensions, vérifiez la version avec la commande suivante :

php -v

Exemple de sortie ci-dessous, rappelez-vous que cela changera avec le temps :

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

Comment rechercher des packages PHP 8.0

Par défaut, lors de l'installation de PHP 8.0, seuls quelques-uns des packages principaux sont installés. Cependant, comme le savent les plus familiers avec PHP, vous pouvez installer de nombreux extras supplémentaires pour diverses applications ou exigences.

Pour rechercher des packages supplémentaires dans le référentiel d'extensions PHP, utilisez la commande suivante dans votre terminal.

sudo zypper search php8

Exemple de résultat :

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

Pour installer l'extension PHP 8.0 Redis à partir de la liste, vous devez exécuter la commande suivante :

sudo zypper install php8-redis

Exemple de résultat :

Tapez "O", puis appuyez sur la « TOUCHE ENTRÉE » pour poursuivre l'installation.

Le même principe peut être utilisé pour PHP 7.4. Remplacez simplement le 8 par 7.

sudo zypper search php7

Par défaut, tous les packages installés avec php7 seront PHP 7.4.

Nginx – Comment installer PHP-FPM

Par défaut, le Nginx FPM module n'est pas fourni nativement dans les extensions PHP par openSUSE. Pour l'installer, vous devrez installer l'un des référentiels de la communauté. L'un des recommandés est le dépôt de Padom qui est répertorié comme une alternative dans la recherche de packages d'openSUSE.

Tout d'abord, vous devrez ajouter le référentiel respectif.

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

Actualisez le référentiel et acceptez l'importation GPG du référentiel que vous avez sélectionné.

sudo zypper refresh

Ensuite, installez l'extension Nginx PHP-FPM 8.

sudo zypper install php8-fpm

Vous serez invité à indiquer la clé GPG et à rejeter, approuver temporairement ou toujours.

Exemple de résultat :

Tapez "a", puis appuyez sur le "BOUTON ENTRÉE" pour procéder à l'importation de la clé GPG.

Exemple de résultat :

Tapez "O", puis appuyez sur la « TOUCHE ENTRÉE » pour poursuivre l'installation.

Une fois installé, copiez les fichiers de configuration par défaut sous leurs noms respectifs.

Si vous ne le faites pas, PHP-FPM affichera un statut d'erreur.

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

Maintenant, par défaut, PHP-FPM est désactivé. Pour permettre à PHP FPM d'utiliser la commande suivante.

sudo systemctl enable php-fpm --now

Ensuite, confirmez que PHP-FPM fonctionne correctement.

sudo systemctl status php-fpm

Exemple de résultat :

Comme ci-dessus, PHP-FPM fonctionne correctement et sera mis à jour à l'aide du référentiel communautaire. Alternativement, vous pouvez installer toutes vos extensions PHP 8 à partir de ce référentiel. Il est très apprécié et, comme avec FPM ajouté, a plus d'extensions que le référentiel officiel.


OpenSuse
  1. Comment installer PHP 8 sur Ubuntu 20.04

  2. Comment installer Mongodb 5 dans Opensuse Leap 15.3

  3. Comment installer Java 17 dans OpenSUSE Leap 15.3

  4. Comment installer PHP 8 sur Fedora 35

  5. Comment installer PHP 7.4 sur Ubuntu 20.04

Comment installer PHP 8.0 sur AlmaLinux 8

Comment installer Snap &Snap-Store (Snapcraft) sur openSUSE Leap 15

Comment installer Elasticsearch sur openSUSE Leap 15

Comment installer et configurer Memcached sur openSUSE Leap 15

Comment installer Brave Browser sur openSUSE Leap 15

Comment installer PHP 8 sur Ubuntu 18.04