Pesquisa de sites

Como Instalar o PHP 8.4 no Rocky/AlmaLinux 9|8


O PHP 8.4 ainda não está pronto para lançamento em produção, mas existem versões alfa disponíveis para testes e para partilhar feedback com a equipa de desenvolvimento. Neste artigo, vamos instalar o PHP 8.4 no Rocky Linux/AlmaLinux, e o mesmo processo deve ser aplicável para as variantes CentOS Stream 9 ou 8. No último artigo, abordámos a instalação do PHP 8.4 no Ubuntu Linux. Para conhecer as alterações e funcionalidades esperadas do PHP 8.4, consulte os seguintes links/recursos:

  • Página PHP.Watch
  • Notícias Laravel

Também é uma boa prática realizar esta instalação numa instância recém-criada de Rocky/AlmaLinux para evitar comprometer o seu sistema ativo com aplicações que servem tráfego em tempo real.

Adicionar os repositórios EPEL e REMI

Primeiro, precisamos adicionar os repositórios EPEL e REMI ao sistema.

  • Adicionar o repositório EPEL
sudo dnf -y install epel-release
  • Instalar o repositório REMI
## EL 9-based systems ##
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm

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

A validação pode ser feita listando os repositórios disponíveis no sistema.

$ sudo dnf repolist
repo id                                                                                                            repo name
appstream                                                                                                          Rocky Linux 8 - AppStream
baseos                                                                                                             Rocky Linux 8 - BaseOS
epel                                                                                                               Extra Packages for Enterprise Linux 8 - x86_64
extras                                                                                                             Rocky Linux 8 - Extras
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

Pode ser necessário ativar o repositório remi-safe, que contém pacotes de software instáveis.

sudo dnf config-manager --set-enabled remi-safe

Instalar PHP 8.4 no Rocky/AlmaLinux/CentOS Stream

Depois de adicionados os dois repositórios, a instalação do PHP 8.4 pode ser feita no seu sistema local. Para saber quais são as versões mais recentes do PHP disponíveis no sistema, execute o seguinte comando:

sudo dnf module list php

Instale o PHP 8.4 executando o comando abaixo:

sudo dnf install php84

Será solicitado que aceite a instalação, digite y e pressione <ENTER>

Dependencies resolved.
===================================================================================================================================================================================================================================================================================
 Package                                                            Architecture                                          Version                                                                                   Repository                                                Size
===================================================================================================================================================================================================================================================================================
Installing:
 php84                                                              x86_64                                                8.4-1.el8.remi                                                                            remi-safe                                                8.0 k
Installing dependencies:
 capstone                                                           x86_64                                                4.0.2-5.el8                                                                               epel                                                     1.1 M
 environment-modules                                                x86_64                                                4.5.2-4.el8                                                                               baseos                                                   421 k
 httpd-filesystem                                                   noarch                                                2.4.37-65.module+el8.10.0+1840+b070a976.1                                                 appstream                                                 44 k
 libsodium                                                          x86_64                                                1.0.18-2.el8                                                                              epel                                                     162 k
 libxslt                                                            x86_64                                                1.1.32-6.el8                                                                              baseos                                                   249 k
 oniguruma5php                                                      x86_64                                                6.9.9-1.el8.remi                                                                          remi-safe                                                213 k
 php84-php-cli                                                      x86_64                                                8.4.0~alpha4-1.el8.remi                                                                   remi-safe                                                3.9 M
 php84-php-common                                                   x86_64                                                8.4.0~alpha4-1.el8.remi                                                                   remi-safe                                                785 k
 php84-runtime                                                      x86_64                                                8.4-1.el8.remi                                                                            remi-safe                                                1.1 M
 scl-utils                                                          x86_64                                                1:2.0.2-16.el8                                                                            appstream                                                 46 k
 tcl                                                                x86_64                                                1:8.6.8-2.el8                                                                             baseos                                                   1.1 M
Installing weak dependencies:
 php84-php-fpm                                                      x86_64                                                8.4.0~alpha4-1.el8.remi                                                                   remi-safe                                                2.0 M
 php84-php-mbstring                                                 x86_64                                                8.4.0~alpha4-1.el8.remi                                                                   remi-safe                                                553 k
 php84-php-opcache                                                  x86_64                                                8.4.0~alpha4-1.el8.remi                                                                   remi-safe                                                529 k
 php84-php-pdo                                                      x86_64                                                8.4.0~alpha4-1.el8.remi                                                                   remi-safe                                                159 k
 php84-php-sodium                                                   x86_64                                                8.4.0~alpha4-1.el8.remi                                                                   remi-safe                                                104 k
 php84-php-xml                                                      x86_64                                                8.4.0~alpha4-1.el8.remi                                                                   remi-safe                                                889 k
Enabling module streams:
 httpd                                                                                                                    2.4

Transaction Summary
===================================================================================================================================================================================================================================================================================
Install  18 Packages

Total download size: 13 M
Installed size: 53 M
Is this ok [y/N]: y

Note que esta instalação é do SCL e é independente do seu sistema, mantendo o sistema operativo base seguro. Alguns pontos a ter em conta:

  • A instalação encontra-se no diretório /opt/remi/php84
  • Os ficheiros de configuração são colocados dentro do diretório /etc/opt/remi/php84

Para obter a versão do PHP 8.4 instalada, use o comando:

$ php84 --version
PHP 8.4.0alpha4 (cli) (built: Aug  1 2024 00:50:38) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.4.0-dev, Copyright (c) Zend Technologies
    with Zend OPcache v8.4.0alpha4, Copyright (c), by Zend Technologies

Instalar Extensões PHP 8.4

Use os comandos abaixo para instalar uma extensão do PHP 8.4.

sudo dnf install php84-<extension>

Vamos considerar um exemplo em que estamos a instalar as extensões mysqlnd e zip.

sudo dnf install php84-php-mysqlnd php84-php-zip

Para listar os módulos listados, execute o seguinte comando:

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

[Zend Modules]
Zend OPcache

Atualizaremos este artigo quando a versão estável e oficial do PHP 8.4 for lançada. Fique atento às atualizações.