Instale o PHP 8.3 no Rocky/AlmaLinux/CentOS 9|8
PHP é uma excelente linguagem de programação de código aberto e versátil, popular no desenvolvimento web. O PHP é conhecido por potencializar as principais plataformas da web, como WordPress e Joomla. Uma maneira de começar a jornada do PHP é instalá-lo em seu sistema local. Neste artigo compartilhamos o processo de configuração do PHP 8.3 no Rocky/AlmaLinux/CentOS 9|8. Existem muitos recursos disponíveis para pessoas interessadas em aprender PHP. Isso inclui tutoriais em blogs, documentação oficial, fóruns públicos e milhares de projetos de código aberto.
Habilite os repositórios Remi e EPEL
No momento desta postagem, PHP 8.3 é a versão mais recente. Os pacotes PHP 8.3 estão disponíveis no repositório RPM de terceiros da Remi. Vamos adicioná-lo ao nosso sistema.
### Rocky / AlmaLinux / CentOS 9 ###
sudo dnf -y install http://rpms.remirepo.net/enterprise/remi-release-9.rpm
### Rocky / AlmaLinux / CentOS 8 ###
sudo dnf -y install http://rpms.remirepo.net/enterprise/remi-release-8.rpm
Também precisamos do repositório EPEL como dependência.
### Rocky / AlmaLinux / CentOS 9 ###
sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
### Rocky / AlmaLinux / CentOS 8 ###
sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
Atualize o cache dnf após adicionar os dois repositórios.
sudo dnf makecache -y
Lista os repositórios configurados no sistema.
$ sudo dnf repolist
repo id repo name
appstream CentOS Stream 9 - AppStream
baseos CentOS Stream 9 - BaseOS
epel Extra Packages for Enterprise Linux 9 - x86_64
epel-cisco-openh264 Extra Packages for Enterprise Linux 9 openh264 (From Cisco) - x86_64
epel-next Extra Packages for Enterprise Linux 9 - Next - x86_64
extras-common CentOS Stream 9 - Extras packages
remi-modular Remi's Modular repository for Enterprise Linux 9 - x86_64
remi-safe Safe Remi's RPM repository for Enterprise Linux 9 - x86_64
Redefina o módulo PHP padrão no sistema.
sudo dnf module reset php -y
Instale PHP 8.3 e extensões
Habilitar módulo PHP 8.3 Remi
sudo dnf module -y install php:remi-8.3
Isso deve ser concluído em alguns segundos.
Last metadata expiration check: 0:01:28 ago on Thu 08 Feb 2024 06:27:51 PM UTC.
Dependencies resolved.
======================================================================================================================================================================================================
Package Architecture Version Repository Size
======================================================================================================================================================================================================
Installing group/module packages:
php-cli x86_64 8.3.2-1.el9.remi remi-modular 5.5 M
php-common x86_64 8.3.2-1.el9.remi remi-modular 1.2 M
php-fpm x86_64 8.3.2-1.el9.remi remi-modular 1.9 M
php-mbstring x86_64 8.3.2-1.el9.remi remi-modular 577 k
php-xml x86_64 8.3.2-1.el9.remi remi-modular 220 k
Installing dependencies:
httpd-filesystem noarch 2.4.57-6.el9 appstream 13 k
libxslt x86_64 1.1.34-9.el9 appstream 243 k
oniguruma5php x86_64 6.9.9-1.el9.remi remi-safe 219 k
Installing weak dependencies:
nginx-filesystem noarch 1:1.22.1-2.el9 appstream 12 k
Installing module profiles:
php/common
Enabling module streams:
php remi-8.3
Transaction Summary
======================================================================================================================================================================================================
Install 9 Packages
Total download size: 9.9 M
Installed size: 55 M
Downloading Packages:
...
Instale o pacote php para uso CLI e outras extensões principais.
sudo dnf -y install php php-{common,pear,cgi,curl,mbstring,gd,mysqlnd,gettext,bcmath,json,xml,fpm,intl,zip,imap}
Verifique a versão atual do PHP para confirmar que a instalação foi bem-sucedida.
$ php --version
PHP 8.3.2 (cli) (built: Jan 16 2024 13:46:41) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.3.2, Copyright (c) Zend Technologies
with Zend OPcache v8.3.2, Copyright (c), by Zend Technologies
Você também pode executar os seguintes comandos para mostrar os módulos ativos.
php --modules
Usando PHP com Nginx ou Apache
Se você estiver usando hosts virtuais Nginx ou Apache, poderá configurá-los para usar PHP.
1) Com servidor web Nginx
Você precisará do PHP-FPM (FastCGI Process Manager) para detectar solicitações PHP recebidas e executá-las.
sudo dnf install nginx php-fpm vim -y
Inicie e ative os serviços.
$ sudo systemctl enable --now nginx php-fpm
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.
Configure o PHP-FPM para escutar em um soquete em vez de IP e porta, e defina outras configurações.
$ sudo vim /etc/php-fpm.d/www.conf
user = nginx
group = nginx
;listen = 127.0.0.1:9000
listen = /var/run/php-fpm.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
Reinicie o serviço PHP FPM após aplicar as alterações.
sudo systemctl restart php-fpm
Adicione o seguinte bloco dentro do bloco http
do arquivo de configuração Nginx para encaminhar solicitações PHP para PHP-FPM.
$ sudo vim /etc/nginx/nginx.conf
server {
listen 80;
server_name myapp.example.com;
root /var/www/myapp;
index index.php index.html;
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/php-fpm.sock;
}
}
Verifique a sintaxe das configurações.
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
2) Com servidor web Apache
A execução do código PHP no servidor web Apache normalmente é feita por meio do módulo mod_php. Isso vem empacotado com o Apache. Os módulos processam o código PHP diretamente no processo Apache.
Se o pacote do servidor Apache httpd não estiver instalado, execute-o conforme abaixo.
sudo dnf -y install httpd php-fpm
Se o Nginx estiver ativo, desative-o ou altere o endereço de escuta de 80/443 para uma porta diferente.
sudo systemctl disable --now nginx
Agora inicie e ative o serviço httpd
.
sudo systemctl enable --now httpd php-fpm
Testando a instalação do PHP 8.3
Crie um arquivo PHP de teste no diretório raiz da web /var/www/html/ para testar o funcionamento do PHP.
sudo echo "<?php phpinfo(); ?>" > /var/www/html/test.php
Acesse a página de teste do PHP em http://localhost_or_serverip/test.php.
Podemos confirmar que o PHP está funcionando conforme o esperado. Agora você pode excluir o script de teste.
sudo rm -f /var/www/html/test.php
Aqui está uma lista dos melhores livros para ler sobre PHP e tecnologias da web.
- Melhores livros para dominar web design
- Melhores livros para aprender desenvolvimento Web – PHP, HTML, CSS, JavaScript e jQuery
- Melhores livros para aprender CSS e CSS3
- Melhores livros para aprender HTML e HTML5
- Melhores livros de referência sobre Apache e Nginx
Para obter informações mais detalhadas sobre PHP, visite a documentação do php.net.