Pesquisa de site

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.

Artigos relacionados: