Hvernig á að setja upp PHP 8.0 á openSUSE 15 Leap

PHP 8.0 er mikilvæg uppfærsla á PHP tungumálinu sem kom út 26. nóvember 2020, risastökk fram á við frá núverandi PHP 7.4 útgáfu. Nýja PHP inniheldur marga nýja eiginleika og hagræðingu, þar á meðal nefnd rök, gerðir sambands, eiginleika, kynningu á eiginleikum byggingaraðila, samsvörunartjáningu, núll örugga rekstraraðila, JIT og endurbætur á tegundakerfinu, villumeðferð og samkvæmni.

Í eftirfarandi námskeiði muntu læra hvernig á að setja upp PHP 8.0 á openSUSE 15 Leap.

Forsendur

Uppfærðu stýrikerfi

Uppfærðu þína openSUSE stýrikerfi til að tryggja að allir núverandi pakkar séu uppfærðir:

sudo zypper refresh -y

Kennsluefnið mun nota sudo skipun og að því gefnu að þú sért með sudo stöðu.

Til að staðfesta sudo stöðu á reikningnum þínum:

sudo whoami

Dæmi um úttak sem sýnir sudo stöðu:

[joshua@opensuse ~]$ sudo whoami
root

Til að setja upp núverandi eða nýjan sudo reikning skaltu fara á kennsluna okkar á að bæta notanda við Sudoers á openSUSE.

Til að nota rótarreikningur, notaðu eftirfarandi skipun með rót lykilorðinu til að skrá þig inn.

su

Fáðu


Flytja inn og setja upp PHP viðbætur

Fyrsta verkefnið er að setja upp server:php:extensions í openSUSE flugstöðinni þinni. Hins vegar, fer eftir útgáfu af openSUSE sem þú ert að keyra núna, þetta getur verið mismunandi. Hér að neðan eru tvö dæmi um nýjustu og fyrri útgáfur af openSUSE Leap.

Flytja inn netþjón:php:viðbætur fyrir openSUSE Leap 15.3:

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

Flytja inn netþjón:php:viðbætur fyrir openSUSE Leap 15.2:

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

Flytja inn netþjón:php:viðbætur fyrir openSUSE Leap 15.1:

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

Dæmi um framleiðslu á innflutningi 15.3:

Hvernig á að setja upp PHP 8.0 á openSUSE 15 Leap

Fyrir nýrri útgáfur skaltu fylgja formúlunni. Þegar því er lokið skaltu endurnýja geymsluna.

sudo zypper refresh

Þú verður beðinn um GPG lykilinn og að hafna, treysta tímabundið eða alltaf.

Dæmi:

Hvernig á að setja upp PHP 8.0 á openSUSE 15 Leap

Gerð "a", ýttu síðan á „ENTER HNAPP“ til að halda áfram að flytja inn GPG lykilinn.

Setjið PHP 8.0

Nú þegar þú hefur flutt inn og sett upp PHP viðbótageymsluna fyrir openSUSE kerfið þitt skaltu setja upp PHP 8.0 með eftirfarandi skipun.

sudo zypper install php8

Dæmi úttak:

Hvernig á að setja upp PHP 8.0 á openSUSE 15 Leap

Gerð "Y", ýttu síðan á „SLAÐA LYKILL“ til að halda áfram með uppsetninguna.

Nú þegar þú hefur sett upp PHP 8.0 og viðbæturnar athugaðu útgáfuna með eftirfarandi skipun:

php -v

Dæmi um úttak hér að neðan, mundu að þetta breytist með tímanum:

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

Fáðu


Hvernig á að leita að PHP 8.0 pökkum

Sjálfgefið, þegar PHP 8.0 er sett upp, eru aðeins fáir af aðalpakkunum settir upp. Hins vegar, eins og flestir sem þekkja til PHP vita, geturðu sett upp marga aukahluti fyrir ýmis forrit eða kröfur.

Til að leita að viðbótarpökkum í PHP viðbótageymslunni skaltu nota eftirfarandi skipun í flugstöðinni þinni.

sudo zypper search php8

Dæmi úttak:

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

Til að setja upp PHP 8.0 Redis viðbótina af listanum myndirðu framkvæma eftirfarandi skipun:

sudo zypper install php8-redis

Dæmi úttak:

Hvernig á að setja upp PHP 8.0 á openSUSE 15 Leap

Gerð "Y", ýttu síðan á „SLAÐA LYKILL“ til að halda áfram með uppsetninguna.

Sömu meginreglu er hægt að nota fyrir PHP 7.4. Skiptu bara um 8 fyrir 7.

sudo zypper search php7

Sjálfgefið er að allir pakkar sem settir eru upp með php7 verða PHP 7.4.

Hvernig á að setja upp PHP-FPM 8

Sjálfgefið er að Nginx FPM einingin kemur ekki innfæddur í PHP viðbætur frá openSUSE. Til að setja þetta upp þarftu að setja upp eina af samfélagsgeymslunum. Einn af þeim sem mælt er með er Geymsla Padoms sem er skráð sem valkostur í pakkaleit openSUSE.

Fyrst þarftu að bæta við viðkomandi geymslu.

openSUSE stökk 15.3

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

openSUSE stökk 15.2:

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

openSUSE stökk 15.1:

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

Endurnýjaðu geymsluna og samþykktu GPG innflutning geymslunnar sem þú valdir.

sudo zypper refresh

Næst skaltu setja upp Nginx PHP-FPM 8 viðbótina.

sudo zypper install php8-fpm

Þú verður beðinn um GPG lykilinn og að hafna, treysta tímabundið eða alltaf.

Dæmi úttak:

Hvernig á að setja upp PHP 8.0 á openSUSE 15 Leap

Gerð "a", ýttu síðan á „ENTER HNAPP“ til að halda áfram að flytja inn GPG lykilinn.

Dæmi úttak:

Hvernig á að setja upp PHP 8.0 á openSUSE 15 Leap

Gerð "Y", ýttu síðan á „SLAÐA LYKILL“ til að halda áfram með uppsetninguna.

Þegar það hefur verið sett upp skaltu afrita sjálfgefna stillingarskrár í viðkomandi nöfn.

Ef þetta er ekki gert mun PHP-FPM gefa villustöðu.

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

Nú er PHP-FPM sjálfgefið óvirkt. Til að virkja PHP FPM til að nota eftirfarandi skipun.

sudo systemctl enable php-fpm --now

Næst skaltu staðfesta að PHP-FPM virki rétt.

sudo systemctl status php-fpm

Dæmi úttak:

Hvernig á að setja upp PHP 8.0 á openSUSE 15 Leap

Eins og hér að ofan virkar PHP-FPM rétt og verður uppfært með samfélagsgeymslunni. Að öðrum kosti geturðu sett upp allar PHP 8 viðbætur þínar úr þessari geymslu. Það er mjög virt og, eins og með FPM bætt við, hefur fleiri viðbætur en opinbera geymslan.


Fáðu


Athugasemdir og niðurstaða

Í kennslunni hefurðu lært hvernig á að flytja inn PHP viðbótageymsluna fyrir þína útgáfu af openSUSE og setja upp viðbótarpakka og leita að þeim. Á heildina litið er PHP 8.0 nú farið að verða nokkuð staðlað alls staðar.

Með þróun væntanlegrar PHP 8.1 eru fleiri forritarar nú að gera vefforrit sín PHP 8 vingjarnleg, þar á meðal risastóra CMS WordPress með fleiri þema- og viðbótaforritum sem keppast við að fá PHP 8.0 studd miðað við þá kosti sem 8 hefur í öryggi og hraða miðað við 7. röð.

Gerast áskrifandi
Tilkynna um
4 Comments
Inline endurgjöf
Skoða allar athugasemdir

hvernig setja upp fpm

PHP Repo án fpm eða apache mát, lítið gagnslaus hingað til

4
0
Vilt elska hugsanir þínar, vinsamlegast skrifaðu athugasemdir.x