PHP (Hypertext Preprocessor) è un linguaggio di scripting lato server open source ampiamente utilizzato, progettato per lo sviluppo web. È particolarmente adatto per la creazione di pagine web e applicazioni dinamiche.
Aggiorna il tuo sistema operativo Ubuntu 22.04 per assicurarti che tutti i pacchetti esistenti siano aggiornati:
# apt update && apt upgrade
Di default, PHP 8.4 non è incluso nel repository predefinito di Ubuntu 24.04. Quindi dovrai aggiungere Ondrej Sury PPA al tuo sistema.
Per prima cosa, installa i pacchetti richiesti utilizzando il seguente comando:
# apt-get install ca-certificates apt-transport-https software-properties-common
Una volta installati tutti i pacchetti, aggiungi questo PPA utilizzando il seguente comando:
# add-apt-repository ppa:ondrej/php
Una volta terminato, aggiorna il repository con il seguente comando:
# apt-get update
Ora puoi installare PHP 8.4 utilizzando il seguente comando:
# apt-get install php8.4
Una volta installato PHP, puoi controllare la versione PHP sul tuo sistema con il seguente comando:
# php8.4 --version
Produzione:
# PHP 8.4.1 (cli) (built: Nov 21 2024 14:54:00) (NTS) Copyright (c) The PHP Group Zend Engine v4.4.1, Copyright (c) Zend Technologies with Zend OPcache v8.4.1, Copyright (c), by Zend Technologies
Per installare PHP come modulo Apache, eseguire:
# apt install libapache2-mod-php8.4
Quindi, riavvia Apache per integrare il nuovo modulo PHP:
# systemctl restart apache2
Per verificare che PHP funzioni con il server web Apache, puoi creare un file PHP di prova:
echo "<?php phpinfo(); ?>" | tee /var/www/html/info.php
Quindi apri il tuo browser web e digita http://your-IP-address/info.php e dovresti vedere la pagina di informazioni PHP.
Per il server web Nginx, è necessario installare il servizio FPM. È possibile installarlo utilizzando il seguente comando:
# apt install php8.4-fpm
Una volta completata l’installazione, è possibile confermare che il PHP-FPM
servizio è stato installato correttamente con il seguente comando:
# systemctl status php8.4-fpm
Produzione:
● php8.4-fpm.service - The PHP 8.4 FastCGI Process Manager Loaded: loaded (/usr/lib/systemd/system/php8.4-fpm.service; enabled; preset: enabled) Active: active (running) Docs: man:php-fpm8.4(8) Process: 11741 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.sock /etc/php/8.4/fpm/pool.d/www.conf 84 (code=exited, status=0/SUCCESS) Main PID: 11737 (php-fpm8.4) Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0.00req/sec" Tasks: 3 (limit: 2218) Memory: 8.0M (peak: 9.0M) CPU: 116ms CGroup: /system.slice/php8.4-fpm.service ├─11737 "php-fpm: master process (/etc/php/8.4/fpm/php-fpm.conf)" ├─11739 "php-fpm: pool www" └─11740 "php-fpm: pool www"
Per configurare Nginx per utilizzare PHP-FPM, è necessario modificare il file di configurazione Nginx predefinito:
# nano /etc/nginx/sites-available/default
Aggiungere le seguenti configurazioni al file.
location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.4-fpm.sock; }
Controlla la sintassi di Nginx:
# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Quindi crea un file PHP di prova simile alla configurazione di Apache:
echo "<?php phpinfo(); ?>" | tee /var/www/html/info.php
Per implementare le modifiche, riavviare il webserver Nginx:
# systemctl restart nginx
Quindi apri il tuo browser web e digita http://your-IP-address/info.php e dovresti vedere la pagina di informazioni PHP.
L’installazione delle estensioni PHP è semplice con la sintassi indicata di seguito:
# sudo apt install php8.4-[extension]
Sostituisci [estensione] con l’estensione che vuoi installare, se vuoi aggiungere più estensioni includile tra parentesi graffe:
# apt install php8.4-mysql php8.4-imap php8.4-ldap php8.4-xml php8.4-curl php8.4-mbstring php8.4-zip
Per controllare i moduli PHP caricati utilizzare il comando:
# php8.4 -m
Esempio di output:
[PHP Modules] .............. imap json ldap libxml mbstring mysqli mysqlnd openssl pcntl pcre PDO pdo_mysql Phar posix .............. [Zend Modules] Zend OPcache
Invece di rimuovere le vecchie versioni di PHP , è anche possibile eseguire più versioni di PHP affiancate.
Il comando update-alternatives fornisce un modo semplice per passare da una versione di PHP all’altra per PHP CLI.
# update-alternatives --config php
Verrà visualizzato un messaggio che richiede di selezionare in modo interattivo il percorso binario PHP alternativo php
a cui punta.
There are 2 choices for the alternative php (providing /usr/bin/php). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/bin/php.default 100 auto mode 1 /usr/bin/php.default 100 manual mode 2 /usr/bin/php8.3 83 manual mode 3 /usr/bin/php8.4 84 manual mode
Per impostare il percorso senza il prompt interattivo:
# update-alternatives --set php /usr/bin/php8.4