GNU/Linux >> Linux の 問題 >  >> OpenSuse

openSUSE15LeapにPHP8.0をインストールする方法

PHP 8.0は、2020年11月26日にリリースされたPHP言語の重要な更新であり、既存のPHP7.4リリースから大きく飛躍しました。新しいPHPには、名前付き引数、共用体型、属性、コンストラクタープロパティの昇格、一致式、nullセーフ演算子、JITと型システムの改善、エラー処理、一貫性など、多くの新機能と最適化が含まれています。

次のチュートリアルでは、 openSUSE15LeapにPHP8.0をインストールする方法を学習します。 。

前提条件

  • 推奨OS: openSUSE Leap – 15.x
  • ユーザーアカウント: sudoまたはrootアクセス権を持つユーザーアカウント。

オペレーティングシステムの更新

openSUSEを更新します 既存のすべてのパッケージが最新であることを確認するためのオペレーティングシステム:

sudo zypper refresh

更新したら、updateコマンドを実行します。

sudo zypper update

チュートリアルでは、sudoコマンドを使用します およびsudoステータスがあると仮定

アカウントのsudoステータスを確認するには:

sudo whoami

sudoステータスを示す出力例:

[joshua@opensuse ~]$ sudo whoami
root

既存または新規のsudoアカウントを設定するには、openSUSEでのSudoersへのユーザーの追加に関するチュートリアルにアクセスしてください。 。

rootアカウントを使用するには 、rootパスワードを指定して次のコマンドを使用してログインします。

su

PHP拡張機能のインポートとインストール

最初のタスクは、 server:php:extensionsをインストールすることです openSUSEターミナルで。ただし、現在実行しているopenSUSEのバージョンによって、これは異なる場合があります。以下は、openSUSELeapの最新リリースと以前のリリースの2つの例です。

openSUSE Leap 15.3のserver:php:extensionsをインポートする

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

openSUSE Leap 15のserver:php:extensionsをインポートします。 2:

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

openSUSE Leap 15.1のserver:php:extensionsをインポートします:

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

15.3のインポートの出力例:

新しいリリースの場合は、式に従ってください。完了したら、リポジトリを更新します。

sudo zypper refresh

GPGキーについて、拒否するか、一時的に信頼するか、常に信頼するかを確認するメッセージが表示されます。

例:

「a」、と入力します 次に、「ENTERボタン」を押します。 GPGキーのインポートを続行します。

PHP8.0をインストールする

openSUSEシステムのPHP拡張リポジトリをインポートしてインストールしたので、次のコマンドを使用してPHP8.0をインストールします。

sudo zypper install php8

出力例:

「Y」と入力します 次に、「ENTERキー」を押します。 インストールを続行します。

これでPHP8.0がインストールされ、拡張機能は次のコマンドでバージョンを確認します。

php -v

以下の出力例。これは時間とともに変化することを忘れないでください:

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

PHP8.0パッケージを検索する方法

デフォルトでは、PHP 8.0をインストールすると、いくつかのメインパッケージのみがインストールされます。ただし、PHPに精通している人なら誰でも知っているように、さまざまなアプリケーションや要件に合わせて、さらに多くの追加機能をインストールできます。

PHP拡張リポジトリで追加のパッケージを検索するには、ターミナルで次のコマンドを使用します。

sudo zypper search php8

出力例:

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

リストからPHP8.0Redis拡張機能をインストールするには、次のコマンドを実行します。

sudo zypper install php8-redis

出力例:

「Y」と入力します 次に、「ENTERキー」を押します。 インストールを続行します。

同じ原則をPHP7.4にも使用できます。 8を7に置き換えるだけです。

sudo zypper search php7

デフォルトでは、php7でインストールされるすべてのパッケージはPHP7.4になります。

Nginx –PHP-FPMのインストール方法

デフォルトでは、 Nginx FPM モジュールは、openSUSEによるPHP拡張機能にネイティブに含まれていません。これをインストールするには、コミュニティリポジトリの1つをインストールする必要があります。推奨されるものの1つは、Padomのリポジトリです。 これは、openSUSEのパッケージ検索の代替としてリストされています。

まず、それぞれのリポジトリを追加する必要があります。

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

リポジトリを更新し、選択したリポジトリのGPGインポートを受け入れます。

sudo zypper refresh

次に、NginxPHP-FPM8拡張機能をインストールします。

sudo zypper install php8-fpm

GPGキーについて、拒否するか、一時的に信頼するか、常に信頼するかを確認するメッセージが表示されます。

出力例:

「a」、と入力します 次に、「ENTERボタン」を押します。 GPGキーのインポートを続行します。

出力例:

「Y」と入力します 次に、「ENTERキー」を押します。 インストールを続行します。

インストールしたら、デフォルトの構成ファイルをそれぞれの名前にコピーします。

これを行わないと、PHP-FPMでエラーステータスが発生します。

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

現在、デフォルトでは、PHP-FPMは無効になっています。 PHPFPMが次のコマンドを使用できるようにするには。

sudo systemctl enable php-fpm --now

次に、PHP-FPMが正しく機能していることを確認します。

sudo systemctl status php-fpm

出力例:

上記のように、PHP-FPMは正しく機能しており、コミュニティリポジトリを使用して更新されます。または、このリポジトリからすべてのPHP8拡張機能をインストールすることもできます。これは高く評価されており、FPMが追加されているように、公式リポジトリよりも多くの拡張機能があります。


OpenSuse
  1. OpenSUSELeap15.3にMongodb5をインストールする方法

  2. OpenSUSELeap15.3にJava17をインストールする方法

  3. Ubuntu 20.04 に PHP 7.4 をインストールする方法

  1. Ubuntu20.04にPHP8をインストールする方法

  2. CentOS8にPHPをインストールする方法

  3. PHP8をFedora35にインストールする方法

  1. OpenSUSE Leap42.1KDEデスクトップをインストールする方法

  2. openSUSELeapにSkypeをインストールする方法

  3. openSUSE Leap 15.1にApache、MariaDB、PHP7(LAMP)をインストールする方法