GNU/Linux >> LINUX-Kenntnisse >  >> OpenSuse

So installieren Sie PHP 8.0 auf openSUSE 15 Leap

PHP 8.0 ist ein bedeutendes Update der PHP-Sprache, das am 26. November 2020 veröffentlicht wurde, ein riesiger Sprung nach vorne gegenüber der bestehenden Version von PHP 7.4. Das neue PHP enthält viele neue Funktionen und Optimierungen, darunter benannte Argumente, Vereinigungstypen, Attribute, Heraufstufung von Konstruktoreigenschaften, Match-Ausdrücke, nullsichere Operatoren, JIT und Verbesserungen des Typsystems, der Fehlerbehandlung und der Konsistenz.

Im folgenden Tutorial erfahren Sie, wie Sie PHP 8.0 auf openSUSE 15 Leap installieren .

Voraussetzungen

  • Empfohlenes Betriebssystem: openSUSE Leap – 15.x
  • Benutzerkonto: Ein Benutzerkonto mit Sudo- oder Root-Zugriff.

Betriebssystem aktualisieren

Aktualisieren Sie Ihr openSUSE Betriebssystem, um sicherzustellen, dass alle vorhandenen Pakete auf dem neuesten Stand sind:

sudo zypper refresh

Führen Sie nach der Aktualisierung den Aktualisierungsbefehl aus.

sudo zypper update

Das Tutorial verwendet den sudo-Befehl und vorausgesetzt, Sie haben den Sudo-Status .

So überprüfen Sie den Sudo-Status Ihres Kontos:

sudo whoami

Beispielausgabe, die den Sudo-Status zeigt:

[joshua@opensuse ~]$ sudo whoami
root

Um ein bestehendes oder neues Sudo-Konto einzurichten, besuchen Sie unser Tutorial zum Hinzufügen eines Benutzers zu Sudoers auf openSUSE .

So verwenden Sie das Root-Konto verwenden Sie den folgenden Befehl mit dem Root-Passwort, um sich anzumelden.

su

PHP-Erweiterungen importieren und installieren

Die erste Aufgabe besteht darin, die server:php:extensions zu installieren in Ihrem openSUSE-Terminal. Abhängig von der Version von openSUSE, die Sie derzeit ausführen, kann dies jedoch variieren. Nachfolgend finden Sie zwei Beispiele der neuesten und früheren Versionen von openSUSE Leap.

Server:php:extensions für openSUSE Leap 15.3 importieren :

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

Server:php:extensions für openSUSE Leap 15 importieren. 2:

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

Server:php:extensions für openSUSE Leap 15.1 importieren:

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

Beispielausgabe für den Import von 15.3:

Folgen Sie für neuere Versionen der Formel. Wenn Sie fertig sind, aktualisieren Sie das Repository.

sudo zypper refresh

Sie werden aufgefordert, den GPG-Schlüssel abzulehnen, vorübergehend oder immer zu vertrauen.

Beispiel:

Geben Sie „a“, ein Drücken Sie dann die „ENTER-TASTE“ um mit dem Importieren des GPG-Schlüssels fortzufahren.

Installieren Sie PHP 8.0

Nachdem Sie nun das PHP-Erweiterungs-Repository für Ihr openSUSE-System importiert und installiert haben, installieren Sie PHP 8.0 mit dem folgenden Befehl.

sudo zypper install php8

Beispielausgabe:

Geben Sie „J“ ein drücken Sie dann die "ENTER-TASTE" um mit der Installation fortzufahren.

Nachdem Sie PHP 8.0 und die Erweiterungen installiert haben, überprüfen Sie die Version mit dem folgenden Befehl:

php -v

Beispielausgabe unten, denken Sie daran, dass sich dies mit der Zeit ändern wird:

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

So suchen Sie nach PHP 8.0-Paketen

Standardmäßig werden bei der Installation von PHP 8.0 nur einige der Hauptpakete installiert. Wie jedoch die meisten PHP-Kenner wissen, können Sie viele zusätzliche Extras für verschiedene Anwendungen oder Anforderungen installieren.

Verwenden Sie den folgenden Befehl in Ihrem Terminal, um nach zusätzlichen Paketen im PHP-Erweiterungs-Repository zu suchen.

sudo zypper search php8

Beispielausgabe:

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

Um die PHP 8.0 Redis-Erweiterung aus der Liste zu installieren, würden Sie den folgenden Befehl ausführen:

sudo zypper install php8-redis

Beispielausgabe:

Geben Sie „J“ ein drücken Sie dann die "ENTER-TASTE" um mit der Installation fortzufahren.

Das gleiche Prinzip kann für PHP 7.4 verwendet werden. Ersetzen Sie einfach die 8 durch 7.

sudo zypper search php7

Standardmäßig sind alle mit php7 installierten Pakete PHP 7.4.

Nginx – So installieren Sie PHP-FPM

Standardmäßig ist das Nginx FPM -Modul ist nicht nativ in den PHP-Erweiterungen von openSUSE enthalten. Um dies zu installieren, müssen Sie eines der Community-Repositories installieren. Eines der empfohlenen ist Padoms Repository das als Alternative in der Paketsuche von openSUSE aufgeführt ist.

Zuerst müssen Sie das entsprechende Repository hinzufügen.

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

Aktualisieren Sie das Repository und akzeptieren Sie den GPG-Import des ausgewählten Repositorys.

sudo zypper refresh

Installieren Sie als Nächstes die Nginx PHP-FPM 8-Erweiterung.

sudo zypper install php8-fpm

Sie werden aufgefordert, den GPG-Schlüssel abzulehnen, vorübergehend oder immer zu vertrauen.

Beispielausgabe:

Geben Sie „a“, ein Drücken Sie dann die „ENTER-TASTE“ um mit dem Importieren des GPG-Schlüssels fortzufahren.

Beispielausgabe:

Geben Sie „J“ ein drücken Sie dann die "ENTER-TASTE" um mit der Installation fortzufahren.

Kopieren Sie nach der Installation die Standardkonfigurationsdateien auf ihre jeweiligen Namen.

Wenn Sie dies nicht tun, gibt PHP-FPM einen Fehlerstatus aus.

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

Jetzt ist PHP-FPM standardmäßig deaktiviert. Um PHP FPM zu aktivieren, verwenden Sie den folgenden Befehl.

sudo systemctl enable php-fpm --now

Bestätigen Sie als Nächstes, dass PHP-FPM ordnungsgemäß funktioniert.

sudo systemctl status php-fpm

Beispielausgabe:

Wie oben funktioniert PHP-FPM korrekt und wird mithilfe des Community-Repositorys aktualisiert. Alternativ können Sie alle Ihre PHP 8-Erweiterungen aus diesem Repository installieren. Es ist hoch angesehen und hat, wie FPM hinzugefügt, mehr Erweiterungen als das offizielle Repository.


OpenSuse
  1. So installieren Sie PHP 8 unter Ubuntu 20.04

  2. So installieren Sie Mongodb 5 in Opensuse Leap 15.3

  3. So installieren Sie Java 17 in OpenSUSE Leap 15.3

  4. So installieren Sie PHP 8 auf Fedora 35

  5. So installieren Sie PHP 7.4 auf Ubuntu 20.04

So installieren Sie PHP 8.0 auf AlmaLinux 8

So installieren Sie Snap &Snap-Store (Snapcraft) auf openSUSE Leap 15

So installieren Sie Elasticsearch auf openSUSE Leap 15

So installieren und konfigurieren Sie Memcached auf openSUSE Leap 15

So installieren Sie Brave Browser auf openSUSE Leap 15

So installieren Sie PHP 8 unter Ubuntu 18.04