Ricerca nel sito web

Installa PHP 8.3 su Rocky/AlmaLinux/CentOS 9|8


PHP è un ottimo linguaggio di programmazione open source e versatile popolare nello sviluppo web. PHP è noto per alimentare le principali piattaforme web come WordPress e Joomla. Un modo per iniziare il viaggio con PHP è installarlo nel tuo sistema locale. In questo articolo condividiamo il processo di configurazione di PHP 8.3 su Rocky/AlmaLinux/CentOS 9|8. Ci sono molte risorse disponibili per le persone interessate ad imparare PHP. Questi includono tutorial sul blog, documentazione ufficiale, forum pubblici e migliaia di progetti open source.

Abilita i repository Remi ed EPEL

Al momento della stesura di questo post, PHP 8.3 è la versione più recente. I pacchetti PHP 8.3 sono disponibili nel repository RPM di terze parti di Remi. Lo aggiungeremo al nostro 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

Abbiamo anche bisogno del repository EPEL come dipendenza.

### 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

Aggiorna la cache dnf dopo aver aggiunto i due repository.

sudo dnf makecache -y

Elenca i repository configurati sul 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

Ripristina il modulo PHP predefinito sul sistema.

sudo dnf module reset php -y

Installa PHP 8.3 e le estensioni

Abilita il modulo PHP 8.3 Remi

sudo dnf module -y install php:remi-8.3

Questo dovrebbe essere completato in pochi secondi.

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:
...

Installa il pacchetto php per l'utilizzo della CLI e altre estensioni chiave.

sudo dnf -y install php php-{common,pear,cgi,curl,mbstring,gd,mysqlnd,gettext,bcmath,json,xml,fpm,intl,zip,imap}

Controlla la versione corrente di PHP per confermare che l'installazione è andata a buon fine.

$ 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

Puoi anche eseguire i seguenti comandi per mostrare i moduli attivi.

php --modules

Utilizzo di PHP con Nginx o Apache

Se utilizzi host virtuali Nginx o Apache, puoi configurarli per utilizzare PHP.

1) Con server web Nginx

Richiederai a PHP-FPM (FastCGI Process Manager) di ascoltare le richieste PHP in arrivo e di eseguirle.

sudo dnf install nginx php-fpm vim -y

Avvia e abilita i servizi.

$ 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.

Configura PHP-FPM per l'ascolto su un socket invece che su IP e porta e imposta altre configurazioni.

$ 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

Riavviare il servizio PHP FPM dopo aver applicato le modifiche.

sudo systemctl restart php-fpm

Aggiungi il seguente blocco all'interno del blocco http del file di configurazione Nginx per inoltrare le richieste PHP a 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;
    }
}

Controlla la sintassi delle configurazioni.

$ 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) Con server web Apache

L'esecuzione del codice PHP nel server web Apache avviene in genere tramite il modulo mod_php. Questo viene fornito in bundle con Apache. I moduli elaborano il codice PHP direttamente all'interno del processo Apache.

Se il pacchetto server httpd Apache non è installato, eseguilo come indicato di seguito.

sudo dnf -y install httpd php-fpm

Se Nginx è attivo, disabilitalo o modifica l'indirizzo di ascolto da 80/443 a porte diverse.

sudo systemctl disable --now nginx

Ora avvia e abilita il servizio httpd.

sudo systemctl enable --now httpd php-fpm

Test dell'installazione di PHP 8.3

Crea un file PHP di prova nella directory web root /var/www/html/ per testare il tuo funzionamento PHP.

sudo echo "<?php phpinfo(); ?>" > /var/www/html/test.php

Accedi alla pagina di test PHP su http://localhost_or_serverip/test.php.

Possiamo confermare che PHP funziona come previsto. Ora puoi eliminare lo script di test.

sudo rm -f /var/www/html/test.php

Ecco un elenco dei migliori libri da leggere su PHP e tecnologie web.

  • I migliori libri per padroneggiare il web design
  • I migliori libri per imparare lo sviluppo web: PHP, HTML, CSS, JavaScript e jQuery
  • I migliori libri per imparare CSS e CSS3
  • I migliori libri per imparare HTML e HTML5
  • I migliori libri di riferimento su Apache e Nginx

Per informazioni più approfondite su PHP, visita la documentazione di php.net.

Articoli correlati: