PHP è un linguaggio di programmazione particolarmente diffuso nello sviluppo di siti web e applicazioni server-side. Può essere installato sulla maggior parte dei sistemi operativi e utilizzato con server web come Apache, Nginx e Microsoft IIS.
In questa guida vedremo come installare PHP, quali componenti scegliere e come verificare che l’ambiente sia configurato correttamente.
Cosa serve per installare PHP
Prima di procedere bisogna definire l’ambiente nel quale PHP dovrà essere eseguito. In genere sono necessari:
- un sistema operativo Linux, Windows o macOS;
- PHP nella versione compatibile con il progetto;
- un server web come Apache, Nginx o IIS;
- le estensioni richieste dall’applicazione;
- un database, come MySQL o MariaDB, se previsto dal progetto;
- Composer per installare e gestire le dipendenze PHP.
PHP può essere utilizzato anche direttamente dalla riga di comando, senza installare un server web. Questa modalità è utile per script, cron job, elaborazioni automatiche e strumenti di sviluppo.
Scegliere la versione di PHP
La versione deve essere scelta in base ai requisiti dell’applicazione, del CMS o del framework utilizzato. Prima di effettuare un aggiornamento è opportuno controllare la compatibilità di temi, plugin, librerie e codice personalizzato.
Per un nuovo progetto è consigliabile utilizzare una versione stabile e ufficialmente supportata, mantenendola aggiornata con le ultime correzioni di sicurezza. Le versioni alpha, beta o release candidate devono essere riservate agli ambienti di prova e non utilizzate sui siti in produzione.
Installare PHP su Ubuntu o Debian
Sulle distribuzioni basate su Debian, PHP può essere installato tramite il gestore dei pacchetti APT. Prima di iniziare aggiorniamo l’elenco dei pacchetti:
sudo apt update
sudo apt install php
Per aggiungere alcune delle estensioni più comuni:
sudo apt install php-cli php-fpm php-mysql php-curl php-mbstring php-xml php-zip php-gd
I nomi e la disponibilità dei pacchetti possono cambiare in base alla distribuzione e alla versione installata. È quindi opportuno verificare sempre la documentazione del sistema operativo.
PHP con Apache
Se si utilizza Apache è possibile installare il modulo PHP previsto dalla distribuzione:
sudo apt install libapache2-mod-php
sudo systemctl restart apache2
In alternativa, soprattutto quando si devono gestire più versioni o separare meglio i processi, è possibile configurare Apache affinché utilizzi PHP-FPM.
PHP con Nginx
Nginx non interpreta direttamente i file PHP. Le richieste devono essere inoltrate a PHP-FPM:
sudo apt install php-fpm
sudo systemctl enable --now php-fpm
Nel virtual host Nginx sarà poi necessario configurare il blocco location dedicato ai file PHP e indicare il socket o l’indirizzo del servizio FastCGI.
Installare PHP su Windows
Su Windows si possono utilizzare i pacchetti binari ufficiali oppure ambienti di sviluppo completi come XAMPP, WampServer o Laragon. Queste soluzioni comprendono generalmente PHP, server web, database e strumenti di amministrazione.
In caso di installazione manuale bisogna:
- scaricare il pacchetto PHP adatto all’architettura del sistema;
- estrarre i file in una directory dedicata, per esempio
C:php; - creare e configurare il file
php.ini; - aggiungere la directory di PHP alla variabile di ambiente
PATH; - configurare Apache, Nginx oppure IIS;
- riavviare il server web.
La scelta tra build Thread Safe e Non Thread Safe dipende dal modo in cui PHP viene collegato al server web. Le build Non Thread Safe sono normalmente utilizzate con FastCGI, mentre quelle Thread Safe possono essere richieste da determinate configurazioni Apache.
Installare PHP su macOS
Su macOS PHP può essere installato attraverso Homebrew:
brew update
brew install php
brew services start php
Al termine è possibile controllare la versione attiva con:
php -v
Il file di configurazione php.ini
Il file php.ini contiene le principali impostazioni dell’ambiente PHP. Permette, ad esempio, di configurare:
- limite massimo di memoria;
- dimensione massima degli upload;
- durata massima degli script;
- fuso orario;
- visualizzazione e registrazione degli errori;
- estensioni da caricare;
- gestione delle sessioni;
- OPcache.
Per individuare il file effettivamente caricato si può eseguire:
php --ini
In alternativa, all’interno di uno script PHP, è disponibile la funzione:
<?php
echo php_ini_loaded_file();
Dopo aver modificato php.ini è generalmente necessario riavviare il server web o il servizio PHP-FPM.
Come verificare l’installazione
Il primo controllo può essere effettuato dalla riga di comando:
php -v
php -m
Il primo comando mostra la versione installata, mentre il secondo restituisce l’elenco dei moduli caricati.
Per verificare anche il collegamento con il server web si può creare temporaneamente un file chiamato info.php nella document root:
<?php
phpinfo();
Aprendo il file dal browser verranno mostrate la versione di PHP, la posizione del file di configurazione e le estensioni abilitate.
phpinfo() espone numerosi dettagli sulla configurazione del server. Il file deve essere eliminato immediatamente dopo il test e non deve rimanere accessibile su un sito pubblico.Configurazione consigliata per la produzione
Un server di produzione richiede impostazioni diverse rispetto a un ambiente di sviluppo. In particolare, è consigliabile:
- disattivare
display_errorse registrare gli errori in un file protetto; - abilitare e configurare OPcache;
- installare soltanto le estensioni realmente necessarie;
- limitare upload, memoria e tempi di esecuzione;
- proteggere file di configurazione e credenziali;
- assegnare permessi minimi a file e directory;
- mantenere PHP e le relative librerie aggiornati;
- utilizzare HTTPS;
- separare l’ambiente di sviluppo da quello pubblico.
Problemi comuni dopo l’installazione
Se il browser mostra il codice PHP invece di eseguirlo, il server web non è stato collegato correttamente all’interprete. Con Apache bisogna controllare il modulo o la configurazione FastCGI; con Nginx è necessario verificare il collegamento a PHP-FPM.
In presenza di un errore 500 bisogna consultare i log del server web e di PHP. Una pagina completamente bianca può invece dipendere da un errore non visualizzato, da un’estensione mancante o da limiti di memoria insufficienti.
Se una modifica al file php.ini non viene applicata, conviene verificare quale file di configurazione viene realmente letto. PHP CLI, Apache e PHP-FPM possono infatti utilizzare file o directory di configurazione differenti.
Installare PHP non significa soltanto copiare l’interprete sul server. Bisogna scegliere la versione corretta, configurare il collegamento con il server web, abilitare le estensioni necessarie e proteggere adeguatamente l’ambiente di produzione.
Dopo l’installazione è importante verificare sia l’esecuzione dalla riga di comando sia il funzionamento attraverso il browser. Per configurazioni specifiche è sempre consigliabile consultare il manuale ufficiale di installazione PHP e la documentazione del proprio sistema operativo.
