GNU/Linux >> Tutoriales Linux >  >> OpenSuse

Cómo instalar PHP 8.0 en openSUSE 15 Leap

PHP 8.0 es una actualización significativa del lenguaje PHP lanzada el 26 de noviembre de 2020, un gran paso adelante desde la versión PHP 7.4 existente. El nuevo PHP contiene muchas características y optimizaciones nuevas, incluidos argumentos con nombre, tipos de unión, atributos, promoción de propiedades de constructor, expresión de coincidencia, operadores seguros nulos, JIT y mejoras en el sistema de tipos, manejo de errores y consistencia.

En el siguiente tutorial, aprenderá cómo instalar PHP 8.0 en openSUSE 15 Leap .

Requisitos

  • SO recomendado: salto de openSUSE – 15.x
  • Cuenta de usuario: Una cuenta de usuario con sudo o acceso root.

Actualizar Sistema Operativo

Actualiza tu openSUSE sistema operativo para asegurarse de que todos los paquetes existentes estén actualizados:

sudo zypper update

Una vez actualizado, ejecute el comando de actualización.

sudo zypper update

El tutorial usará el comando sudo y asumiendo que tiene estado sudo .

Para verificar el estado de sudo en su cuenta:

sudo whoami

Ejemplo de salida que muestra el estado de sudo:

[joshua@opensuse ~]$ sudo whoami
root

Para configurar una cuenta Sudo existente o nueva, visite nuestro tutorial sobre agregar un usuario a Sudoers en openSUSE .

Para usar la cuenta raíz , use el siguiente comando con la contraseña de root para iniciar sesión.

su

Importar e instalar extensiones de PHP

La primera tarea es instalar el servidor:php:extensiones en su terminal openSUSE. Sin embargo, dependiendo de la versión de openSUSE que esté ejecutando actualmente, esto puede variar. A continuación se muestran dos ejemplos de las versiones más recientes y anteriores de openSUSE Leap.

Importar servidor:php:extensiones para openSUSE Leap 15.3 :

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

Importar servidor:php:extensiones para openSUSE Leap 15. 2:

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

Importar servidor:php:extensiones para openSUSE Leap 15.1:

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

Ejemplo de salida de la importación 15.3:

Para versiones más recientes, siga la fórmula. Una vez hecho esto, actualice el repositorio.

sudo zypper update

Se le solicitará la clave GPG y que la rechace, confíe temporalmente o siempre.

Ejemplo:

Escribe “a”, luego presione el “BOTÓN ENTRAR” para continuar con la importación de la clave GPG.

Instalar PHP 8.0

Ahora que ha importado e instalado el repositorio de extensiones de PHP para su sistema openSUSE, instale PHP 8.0 con el siguiente comando.

sudo zypper install php8

Ejemplo de salida:

Escriba “Y”, luego presione la “TECLA ENTER” para continuar con la instalación.

Ahora que ha instalado PHP 8.0 y las extensiones, verifique la versión con el siguiente comando:

php -v

Ejemplo de salida a continuación, recuerde que esto cambiará con el tiempo:

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

Cómo buscar paquetes de PHP 8.0

De forma predeterminada, al instalar PHP 8.0, solo se instalan algunos de los paquetes principales. Sin embargo, como sabrá la mayoría de los familiarizados con PHP, puede instalar muchos extras adicionales para diversas aplicaciones o requisitos.

Para buscar paquetes adicionales en el repositorio de extensiones de PHP, use el siguiente comando en su terminal.

sudo zypper search php8

Ejemplo de salida:

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

Para instalar la extensión PHP 8.0 Redis de la lista, debe ejecutar el siguiente comando:

sudo zypper install php8-redis

Ejemplo de salida:

Escriba “Y”, luego presione la “TECLA ENTER” para continuar con la instalación.

El mismo principio se puede utilizar para PHP 7.4. Simplemente reemplace el 8 con 7.

sudo zypper search php7

De manera predeterminada, todos los paquetes instalados con php7 serán PHP 7.4.

Nginx:cómo instalar PHP-FPM

De forma predeterminada, el Nginx FPM El módulo no viene de forma nativa en las extensiones PHP de openSUSE. Para instalar esto, deberá instalar uno de los repositorios de la comunidad. Uno de los recomendados es el repositorio de Padom que aparece como una alternativa en la búsqueda de paquetes de openSUSE.

Primero, deberá agregar el repositorio respectivo.

abrir SUSE 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

Actualice el repositorio y acepte la importación GPG del repositorio que seleccionó.

sudo zypper update

A continuación, instale la extensión Nginx PHP-FPM 8.

sudo zypper install php8-fpm

Se le solicitará la clave GPG y que la rechace, confíe temporalmente o siempre.

Ejemplo de salida:

Escribe “a”, luego presione el “BOTÓN ENTRAR” para continuar con la importación de la clave GPG.

Ejemplo de salida:

Escriba “Y”, luego presione la “TECLA ENTER” para continuar con la instalación.

Una vez instalado, copie los archivos de configuración predeterminados a sus respectivos nombres.

Si no se hace esto, PHP-FPM generará un estado de error.

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

Ahora, por defecto, PHP-FPM está deshabilitado. Para habilitar PHP FPM para usar el siguiente comando.

sudo systemctl enable php-fpm --now

A continuación, confirme que PHP-FPM funciona correctamente.

sudo systemctl status php-fpm

Ejemplo de salida:

Como se indicó anteriormente, PHP-FPM funciona correctamente y se actualizará utilizando el repositorio de la comunidad. Alternativamente, puede instalar todas sus extensiones de PHP 8 desde este repositorio. Es muy apreciado y, al igual que con FPM añadido, tiene más extensiones que el repositorio oficial.


OpenSuse
  1. Cómo instalar PHP 8 en Ubuntu 20.04

  2. Cómo instalar Mongodb 5 en Opensuse Leap 15.3

  3. Cómo instalar Java 17 en OpenSUSE Leap 15.3

  4. Cómo instalar PHP 8 en Fedora 35

  5. Cómo instalar PHP 7.4 en Ubuntu 20.04

Cómo instalar PHP 8.0 en AlmaLinux 8

Cómo instalar Snap &Snap-Store (Snapcraft) en openSUSE Leap 15

Cómo instalar Elasticsearch en openSUSE Leap 15

Cómo instalar y configurar Memcached en openSUSE Leap 15

Cómo instalar Brave Browser en openSUSE Leap 15

Cómo instalar PHP 8 en Ubuntu 18.04