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.