GNU/Linux >> Belajar Linux >  >> OpenSuse

Cara Menginstal PHP 8.0 di openSUSE 15 Leap

PHP 8.0 adalah pembaruan signifikan dari bahasa PHP yang dirilis pada 26 November 2020, sebuah lompatan besar dari rilis PHP 7.4 yang ada. PHP baru berisi banyak fitur dan pengoptimalan baru, termasuk argumen bernama, tipe gabungan, atribut, promosi properti konstruktor, ekspresi kecocokan, operator aman nol, JIT dan peningkatan dalam sistem tipe, penanganan kesalahan, dan konsistensi.

Dalam tutorial berikut, Anda akan mempelajari cara menginstal PHP 8.0 di openSUSE 15 Leap .

Prasyarat

  • OS yang Disarankan: openSUSE Leap – 15.x
  • Akun pengguna: Akun pengguna dengan sudo atau akses root.

Perbarui Sistem Operasi

Perbarui openSUSE . Anda sistem operasi untuk memastikan semua paket yang ada mutakhir:

sudo zypper refresh

Setelah di-refresh, jalankan perintah update.

sudo zypper update

Tutorial akan menggunakan perintah sudo dan dengan asumsi Anda memiliki status sudo .

Untuk memverifikasi status sudo di akun Anda:

sudo whoami

Contoh keluaran yang menunjukkan status sudo:

[joshua@opensuse ~]$ sudo whoami
root

Untuk menyiapkan akun sudo yang ada atau baru, kunjungi tutorial kami tentang menambahkan Pengguna ke Sudoers di openSUSE .

Untuk menggunakan akun root , gunakan perintah berikut dengan kata sandi root untuk masuk.

su

Impor &Instal Ekstensi PHP

Tugas pertama adalah menginstal server:php:extensions di terminal openSUSE Anda. Namun, tergantung pada versi openSUSE yang sedang Anda jalankan, ini dapat bervariasi. Di bawah ini adalah dua contoh rilis openSUSE Leap terbaru dan sebelumnya.

Impor server:php:extensions untuk openSUSE Leap 15.3 :

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

Impor server:php:extensions untuk openSUSE Leap 15. 2:

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

Impor server:php:extensions untuk openSUSE Leap 15.1:

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

Contoh keluaran dari mengimpor 15.3:

Untuk rilis yang lebih baru, ikuti rumusnya. Setelah selesai, segarkan repositori.

sudo zypper refresh

Anda akan diminta tentang kunci GPG dan untuk menolak, mempercayai sementara, atau selalu.

Contoh:

Ketik “a”, lalu tekan “BUTTON ENTER” untuk melanjutkan dengan mengimpor kunci GPG.

Instal PHP 8.0

Sekarang Anda telah mengimpor dan menginstal repositori ekstensi PHP untuk sistem openSUSE Anda, instal PHP 8.0 dengan perintah berikut.

sudo zypper install php8

Contoh keluaran:

Ketik “Y”, lalu tekan tombol “ENTER KEY” untuk melanjutkan penginstalan.

Sekarang Anda telah menginstal PHP 8.0 dan ekstensi memeriksa versi dengan perintah berikut:

php -v

Contoh output di bawah ini, ingat ini akan berubah seiring waktu:

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

Cara Mencari Paket PHP 8.0

Secara default, saat menginstal PHP 8.0, hanya beberapa paket utama yang diinstal. Namun, seperti yang diketahui oleh sebagian besar orang yang akrab dengan PHP, Anda dapat menginstal banyak tambahan tambahan untuk berbagai aplikasi atau persyaratan.

Untuk mencari paket tambahan di repositori ekstensi PHP, gunakan perintah berikut di terminal Anda.

sudo zypper search php8

Contoh keluaran:

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

Untuk menginstal ekstensi PHP 8.0 Redis dari daftar, Anda akan menjalankan perintah berikut:

sudo zypper install php8-redis

Contoh keluaran:

Ketik “Y”, lalu tekan tombol “ENTER KEY” untuk melanjutkan penginstalan.

Prinsip yang sama dapat digunakan untuk PHP 7.4. Ganti saja 8 dengan 7.

sudo zypper search php7

Secara default, semua paket yang diinstal dengan php7 akan menjadi PHP 7.4.

Nginx – Cara Menginstal PHP-FPM

Secara default, FPM Nginx modul tidak datang secara asli dalam ekstensi PHP oleh openSUSE. Untuk menginstal ini, Anda perlu menginstal salah satu repositori komunitas. Salah satu yang direkomendasikan adalah repositori Padom yang terdaftar sebagai alternatif pada pencarian paket openSUSE.

Pertama, Anda perlu menambahkan repositori masing-masing.

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

Segarkan repositori, dan terima impor GPG dari repositori yang Anda pilih.

sudo zypper refresh

Selanjutnya, instal ekstensi Nginx PHP-FPM 8.

sudo zypper install php8-fpm

Anda akan diminta tentang kunci GPG dan untuk menolak, mempercayai sementara, atau selalu.

Contoh keluaran:

Ketik “a”, lalu tekan “BUTTON ENTER” untuk melanjutkan dengan mengimpor kunci GPG.

Contoh keluaran:

Ketik “Y”, lalu tekan tombol “ENTER KEY” untuk melanjutkan penginstalan.

Setelah terinstal, salin file konfigurasi default ke nama masing-masing.

Kegagalan melakukan ini akan mengakibatkan PHP-FPM memberikan status kesalahan.

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

Sekarang, secara default, PHP-FPM dinonaktifkan. Untuk mengaktifkan PHP FPM gunakan perintah berikut.

sudo systemctl enable php-fpm --now

Selanjutnya, konfirmasikan bahwa PHP-FPM berfungsi dengan benar.

sudo systemctl status php-fpm

Contoh keluaran:

Seperti di atas, PHP-FPM bekerja dengan benar dan akan diperbarui menggunakan repositori komunitas. Atau, Anda dapat menginstal semua ekstensi PHP 8 Anda dari repositori ini. Ini sangat dihargai dan, seperti yang ditambahkan FPM, memiliki lebih banyak ekstensi daripada repositori resmi.


OpenSuse
  1. Bagaimana menginstal Mongodb 5 di Opensuse Leap 15.3

  2. Bagaimana menginstal Java 17 di OpenSUSE Leap 15.3

  3. Cara Menginstal PHP 8 di Fedora 35

  1. Cara Menginstal PHP 8 di Ubuntu 20.04

  2. Cara Menginstal PHP di CentOS 8

  3. Cara Menginstal PHP 7.4 di Ubuntu 20.04

  1. Cara Menginstal Desktop KDE OpenSUSE Leap 42.1

  2. Cara Menginstal Skype di openSUSE Leap

  3. Cara Install Apache, MariaDB, PHP7 (LAMP) di openSUSE Leap 15.1