Pesquisa de site

Instalar PHP 8.1 no Rocky 8 | CentOS 8 | Alma 8


Neste breve post do blog, vamos nos concentrar em como instalar o PHP 8.1 no Rocky Linux 8/CentOS 8. PHP é uma linguagem de script para servidor muito poderosa e de código aberto, criada para tornar a criação de páginas web dinâmicas e interativas uma jornada interessante. PHP é uma alternativa a concorrentes como o ASP da Microsoft. Esta linguagem de programação foi originalmente criada pelo programador dinamarquês-canadense chamado Rasmus Lerdorf, em 1994.

PHP 8.1 é uma atualização do seu lançamento predecessor, a versão 8.0 da linguagem de programação PHP. Se você está pronto para testar essa nova versão do PHP, este artigo é para você. Os sistemas de gerenciamento de conteúdo mais poderosos, como Drupal, WordPress e Joomla, são alimentados por PHP. O PHP 8.1 vem com um conjunto de novos recursos, melhorias de desempenho, alterações e desaprovações.

Novos recursos no PHP 8.1

  • Enums – Eles agora foram adicionados no PHP 8.1
  • Propriedades somente leitura – As propriedades de classe podem ser marcadas como somente leitura, portanto só podem ser escritas uma vez
  • Tipo de Retorno Never – Um novo tipo de retorno chamado never foi adicionado no PHP 8.1
  • Suporte para DNS-over-HTTPS (DoH)
  • Suporte ao formato de imagem AVIF – O processamento de imagens do PHP 8.1 e a extensão GD adicionam suporte para imagens AVIF.
  • Suporte adicionado para Fibers – O mecanismo de baixo nível para gerenciar paralelismo
  • Uploads de Arquivos com CURLStringFile – No PHP 8.1, a extensão PHP Curl agora suporta requisições HTTP(S) com uploads de arquivos
  • Adição do recurso de tipos de interseção puros
  • O PHP 8.1 adiciona array_is_list como uma função incorporada
  • Notação Explícita de Numerais Octais
  • Novas funções fdatasync() e fsync()
  • Definir constantes de classe final
  • Entre muitos outros novos recursos e descontinuações

Instalar PHP 8.1 no Rocky 8/CentOS 8/AlmaLinux 8

Nas próximas seções, vamos nos concentrar em uma instalação passo a passo do PHP 8.1 no Rocky Linux 8 | CentOS 8. Sistemas baseados em RHEL 8 vêm com algumas versões do PHP, disponíveis nos repositórios AppStream, que podem ser verificadas com o seguinte comando:

$ sudo dnf module list php
Last metadata expiration check: 0:00:05 ago on Sat 20 Nov 2021 10:32:10 AM UTC.
Rocky Linux 8 - AppStream
Name                                   Stream                                     Profiles                                                     Summary
php                                    7.2 [d]                                    common [d], devel, minimal                                   PHP scripting language
php                                    7.3                                        common [d], devel, minimal                                   PHP scripting language
php                                    7.4                                        common [d], devel, minimal                                   PHP scripting language

Para o PHP 8.1, usaremos os repositórios Remi RPM, que contêm os novos pacotes do PHP para sistemas baseados em RHEL, como CentOS, Rocky Linux, AlmaLinux, Fedora, etc.

1) Adicionar o repositório Remi YUM

Precisamos habilitar o repositório EPEL antes de adicionar os repositórios YUM do Remi ao nosso sistema.

sudo dnf -y install epel-release
sudo dnf config-manager --set-enabled powertools

Após os repositórios EPEL e PowerTools serem adicionados ao sistema, prossiga para habilitar o repositório YUM Remi:

sudo dnf -y install https://rpms.remirepo.net/enterprise/remi-release-8.rpm

Confirme se todos os repositórios adicionados estão ativos:

$ sudo dnf -y makecache
$ sudo dnf -y repolist
repo id                                                                     repo name
appstream                                                                   Rocky Linux 8 - AppStream
baseos                                                                      Rocky Linux 8 - BaseOS
epel                                                                        Extra Packages for Enterprise Linux 8 - x86_64
epel-modular                                                                Extra Packages for Enterprise Linux Modular 8 - x86_64
extras                                                                      Rocky Linux 8 - Extras
powertools                                                                  Rocky Linux 8 - PowerTools
remi-modular                                                                Remi's Modular repository for Enterprise Linux 8 - x86_64
remi-safe                                                                   Safe Remi's RPM repository for Enterprise Linux 8 - x86_64

Deveriam ser adicionados novos módulos PHP ao sistema

$ sudo dnf module list php
Last metadata expiration check: 0:00:05 ago on Sat 20 Nov 2021 10:32:10 AM UTC.
Rocky Linux 8 - AppStream
Name                                   Stream                                     Profiles                                                     Summary
php                                    7.2 [d]                                    common [d], devel, minimal                                   PHP scripting language
php                                    7.3                                        common [d], devel, minimal                                   PHP scripting language
php                                    7.4                                        common [d], devel, minimal                                   PHP scripting language
php                                    8.0                                        common [d], devel, minimal                                   PHP scripting language
Remi's Modular repository for Enterprise Linux 8 - x86_64
Name                                   Stream                                     Profiles                                                     Summary
php                                    remi-7.2                                   common [d], devel, minimal                                   PHP scripting language
php                                    remi-7.3                                   common [d], devel, minimal                                   PHP scripting language
php                                    remi-7.4                                   common [d], devel, minimal                                   PHP scripting language
php                                    remi-8.0                                   common [d], devel, minimal                                   PHP scripting language
php                                    remi-8.1                                   common [d], devel, minimal                                   PHP scripting language
php                                    remi-8.2                                   common [d], devel, minimal                                   PHP scripting language
php                                    remi-8.3                                   common [d], devel, minimal                                   PHP scripting language

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

2) Instalar os pacotes do PHP 8.1

Com os repositórios necessários habilitados e confirmados como funcionando, agora podemos instalar o PHP 8.1 no Rocky Linux 8|CentOS 8.

Vamos redefinir o módulo padrão do PHP no repositório AppStream:

sudo dnf -y module reset php

Habilite o repositório Remi para PHP 8.1 executando o comando abaixo como usuário sudo:

sudo dnf module install php:remi-8.1

Confirme as dependências do pacote e prossiga com a instalação do PHP 8.1 do repositório Remi

....
Transaction Summary
======================================================================================================================================================================================================
Install  9 Packages

Total download size: 9.7 M
Installed size: 45 M
Is this ok [y/N]: y

Você é solicitado a aceitar a importação de algumas chaves GPG de assinatura de pacotes durante a instalação.

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                                  12 MB/s | 9.7 MB     00:00
Remi's Modular repository for Enterprise Linux 8 - x86_64                                                                                                             3.0 MB/s | 3.1 kB     00:00
Importing GPG key 0x5F11735A:
 Userid     : "Remi's RPM repository <[email >"
 Fingerprint: 6B38 FEA7 231F 87F5 2B9C A9D8 5550 9759 5F11 735A
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-remi.el8
Is this ok [y/N]: y

Vamos ver a versão do PHP instalada no nosso sistema:

$ php --version
PHP 8.1.25 (cli) (built: Oct 24 2023 21:51:16) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.1.25, Copyright (c) Zend Technologies

3) Instalar Extensões PHP 8.1

As extensões PHP ajudam você a evitar ter que recriar o mesmo código para vários aplicativos PHP do zero. Você instala uma extensão e simplesmente a conecta ao seu aplicativo. Você pode facilmente usar uma extensão disponível publicamente, que pode ser instalada com a seguinte sintaxe de comando:

sudo yum install php-xxx
  • Onde xxx é o nome da extensão.

Aqui estão os comandos para instalar as extensões PHP mais usadas:

sudo dnf install php php-cli php-{curl,json,zip,fpm,gd,mysqlnd,devel,mcrypt,mbstring,xml,pear,bcmath,memcache,redis}

Aceite o prompt de instalação para continuar:

Transaction Summary
======================================================================================================================================================================================================
Install  73 Packages

Total download size: 78 M
Installed size: 208 M
Is this ok [y/N]: y

Verificando todas as extensões PHP disponíveis:

$ php --modules
[PHP Modules]
bcmath
bz2
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
igbinary
json
libxml
mbstring
mcrypt
memcache
msgpack
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
readline
redis
Reflection
session
shmop
SimpleXML
sockets
sodium
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tokenizer
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zip
zlib

[Zend Modules]
Zend OPcache

4) Executando múltiplas versões do PHP

A Coleção de Software é a melhor maneira de executar várias versões do PHP. A coleção php81 está disponível no repositório remi-safe e pode ser instalada com o comando:

sudo dnf install php81

Pacotes adicionais podem ser instalados usando o comando:

sudo dnf install php81-php-xxx

Verificando a versão do PHP 8.1

$ php81 --version
PHP 8.1.25 (cli) (built: Oct 24 2023 21:51:16) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.1.25, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.25, Copyright (c), by Zend Technologies

Listando módulos habilitados para PHP 8.1

$ php81 --modules
[PHP Modules]
bz2
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gettext
hash
iconv
json
libxml
mbstring
openssl
pcntl
pcre
PDO
pdo_sqlite
Phar
readline
Reflection
session
SimpleXML
sockets
sodium
SPL
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zlib

[Zend Modules]
Zend OPcache

Isto conclui nosso guia sobre como instalar o PHP 8.1 no Rocky Linux 8|CentOS 8|AlmaLinux 8. Esperamos que você tenha gostado e seja sempre bem-vindo. Para quaisquer problemas encontrados durante a instalação, não hesite em nos contactar na seção de comentários ou por e-mail. Saúde!

Livros recomendados de desenvolvimento web para ler:

  • Melhores livros para aprender Desenvolvimento Web – PHP, HTML, CSS, JavaScript e jQuery
  • Melhores Livros Para Dominar Web Design
  • Melhores Livros Para Aprender CSS e CSS3
  • Melhores Livros Para Aprender HTML e HTML5
  • Melhores livros de referência sobre Apache e Nginx