PHP è un linguaggio di programmazione che consente di creare siti web dinamici (blog, eCommerce, ecc.), web API di supporto alle app per dispositivi mobili e molto altro. In questa guida vederemo come installare PHP 8 sul PC Windows 10 e come configurare Apache HTTP Server​ con PHP.

Trattazione aggiornata a PHP 8 e ri-verificata per funzionare al meglio sulle versioni moderne di Windows 10

Guida definitiva PHP 8 Windows 10: come installare configurare PHP 8 Apache Windows

In questo articolo ci concentreremo, nello specifico, sull'installazione di PHP in ambiente Windows. Per la guida equivalente incentrata su Linux:

» Leggi: La Grande Guida ad Apache, MySQL, PHP

Come sempre, ci riferiremo al programma "Apache HTTP Server" chiamandolo (impropriamente) solo "Apache", per brevità e per conformarci al nome usato nel quotidiano.

La procedura è stata testata con Windows 10 Home e Pro x64 (64 bit), ma è analoga per tutte le generazioni di Windows.

Passo 1: Installare le librerie Microsoft Visual C++

Prima di installare PHP su Windows è necessario installare il pacchetto Microsoft Visual C++, scegliendo la compilazione a 64 bit (x64) oppure 32 bit (x86) a seconda che sia in uso Windows a 64 oppure 32 bit:

Guida definitiva PHP 8 Windows 10: come installare configurare PHP 8 Apache Windows

Non sottovalutate questo passaggio preliminare! Senza le librerie Microsoft Visual C++, infatti, PHP si blocca all'avvio mostrando un errore simile a L'esecuzione del codice non può proseguire perché VCRUNTIME140.dll non è stato trovato.

» Leggi anche: [risolto] VCRUNTIME140.dll download - Errore di sistema: L'esecuzione del codice non può proseguire perché VCRUNTIME140.dll non è stato trovato: come risolvere?

Passo 2: Scaricare PHP per Windows

Procediamo ora a scaricare PHP per Windows dal sito ufficiale:

» Download: PHP per Windows

Dalla pagina indicata, dobbiamo prelevare lo zip relativo all'ultima versione disponibile (le nuove release sono inserite in alto nella lista) scegliendolo fra molte varianti.

Per usare PHP con Apache (come faremo nel prosieguo della guida), scaricare uno dei seguenti:

  • con Windows a 64 bit: scaricare il file x64 Thread Safe
  • con Windows a 32 bit: scaricare il file x86 Thread Safe

Sì, l'indicazione è diversa rispetto al passato. Oggi, con le versioni moderne di PHP e Apache per Windows, è necessario scegliere il pacchetto Thread Safe

Guida definitiva PHP 8 Windows 10: come installare configurare PHP 8 Apache Windows - windows php download scelta versione

Se invece vuoi utilizzare PHP con il web server IIS al posto di Apache, devi scegliere uno dei file Non Thread Safe. Non ho però approfondito questo scenario: il resto della guida è incentrata su PHP+Apache.

Passo 3: Estrazione dei file e spostamento della cartella

  1. Scompattiamo il file zip appena scaricato in una cartella temporanea a piacere
  2. Rinominiamo la cartella in PHP
  3. Spostiamo la cartella nella directory Programmi di Windows, ovvero C:\Program Files\PHP

Guida definitiva PHP 8 Windows 10: come installare configurare PHP 8 Apache Windows

Passo 4: Rinominare php.ini

php.ini è il file di configurazione di PHP che contiene molteplici impostazioni. Questo file non è presente di default all'interno dell'archivio zip. Al suo posto, troviamo:

  • php.ini-development: è il file php.ini consigliato per lo sviluppo locale
  • php.ini-production: è il file php.ini consigliato per il rilascio sul server "di produzione", ovvero quello accessibile dal pubblico

Procediamo dunque a rinominare quello più appropriato in php.ini, togliendo dunque il suffisso. Nella stragrande maggioranza dei casi, questo si riduce a rinominare php.ini-development in php.ini

Guida definitiva PHP 8 Windows 10: come installare configurare PHP 8 Apache Windows - zShotVM_1582403498

Passo 5: Attivare le estensioni

Procediamo ora ad aprire lo stesso file php.ini con il Blocco note. È infatti opportuno attivare immediatamente alcune estensioni di PHP di uso comune che ci serviranno sicuramente in seguito.

Allo scopo, iniziamo cercando il testo extension_dir = "ext". Se questa direttiva inizia con un punto e virgola (;) significa che è disattivata. Procediamo dunque ad eliminare il ; iniziale

Guida definitiva PHP 8 Windows 10: come installare configurare PHP 8 Apache Windows - php extension_dir

Cerchiamo ora il testo extension=bz2 per trovare rapidamente la sezione dedicata alle singole estensioni attivabili. Anche in questo caso, vogliamo eliminare il carattere ; ad inizio riga dalle seguenti:

  • extension=curl
  • extension=fileinfo
  • extension=gd2
  • extension=gettext
  • extension=intl
  • extension=mbstring
  • extension=mysqli
  • extension=openssl
  • extension=pdo_mysql

Altre estensioni potranno essere abilitate alla bisogna.

Salvare e chiudere il file.

Passo 6: Aggiungere PHP al PATH

Procediamo ora ad aggiungere la cartella di PHP alla variabile PATH di Windows. In questo modo, potremo successivamente lanciare correttamente comandi come composer o symfony. La procedura da seguire è stata mostrata qui:

» Leggi: Guida Windows 10: come modificare la variabile di ambiente Path e aggiungere una cartella (percorso directory)

Guida definitiva PHP 8 Windows 10: come installare configurare PHP 8 Apache Windows - zShotVM_1582399552

Se avete seguito la mia raccomandazione precedente, si tratta di C:\Program Files\PHP

Guida definitiva PHP 8 Windows 10: come installare configurare PHP 8 Apache Windows - zShotVM_1582392011

Per sincerarvi che l'operazione sia andata a buon fine basta aprire il Prompt dei comandi (ricordate di aprire una nuova istanza, non usate un Prompt dei comandi aperto in precedenza) e impartire php --version. Se il messaggio è simile a PHP 8.0.0 (cli), significa che è tutto a posto

Guida definitiva PHP 8 Windows 10: come installare configurare PHP 8 Apache Windows - zShotVM_1582392418

Passo 7: Installare Apache

Arrivati a questo punto, l'installazione di PHP è già terminata. Non siamo però ancora pronti a lavorare.

L'interprete PHP non risponde direttamente alle richieste dei browser web che visitano il nostro sito. Questo compito spetta al web server (Apache, nel nostro caso). Il flusso è il seguente:

  1. l'utente visita una pagina del nostro sito tramite il suo browser web
  2. Apache riceve la richiesta
  3. se si tratta di una pagina .php, Apache passa il file all'interprete PHP
  4. l'interprete PHP elabora il file e ritorna l'HTML "fatto e finito" ad Apache
  5. Apache ritorna l'HTML al browser dell'utente

Se ancora non avete installato Apache, dovete farlo ora seguendo queste indicazioni:

» Leggi: Come installare Apache su Windows 10 e trasformare il PC in un server web: la Guida Definitiva

Nel prosieguo darò per scontato che abbiate installato Apache seguendo le indicazioni fornite nella guida dedicata e che siate riusciti a visualizzare la pagina HTML statica di esempio

Guida definitiva PHP 8 Windows 10: come installare configurare PHP 8 Apache Windows

Passo 8: Scaricare mod_fcgid

Ci sono vari modi per consentire ad Apache e PHP di comunicare. Tradizionalmente si usa il modulo per Apache mod_php, che incorpora già l'intero interprete PHP. Questo approccio è però sconsigliato, poiché consuma parecchia RAM e non consente di sfruttare il multithreading di Apache. Per configurare Apache e PHP sotto Windows in modo ottimale ci serve un altro modulo che consenta ad Apache di interfacciarsi con PHP tramite il protocollo FastCGI. Allo scopo, scarichiamo mod_fcgid:

» Download: mod_fcgi per Apache (Windows)

Localizziamo la sezione intitolata mod_fcgid (è la prima della lista) e scarichiamo la versione appropriata al nostro PC:

  • con Windows a 64 bit: scaricare il file winx64
  • con Windows a 32 bit: scaricare il file win32

Guida definitiva PHP 8 Windows 10: come installare configurare PHP 8 Apache Windows

Passo 9: Installare mod_fcgid

Una volta scompattato il .zip appena ottenuto in una cartella temporanea a piacere, scorriamola fino a trovare il file mod_fcgid.so: è l'unica cosa che ci interessa di tutto il pacchetto

Guida definitiva PHP 8 Windows 10: come installare configurare PHP 8 Apache Windows

Spostiamo mod_fcgid.so nella sottocartella modules di Apache. Se avete seguito le indicazioni fornite nella guida ad Apache su Windows, sarà C:\Program Files\Apache\modules.

Prestate attenzione ad estrarre nel percorso giusto! Il file deve finire dentro la sottocartella modules, non immediatamente dentro ad Apache!

Guida definitiva PHP 8 Windows 10: come installare configurare PHP 8 Apache Windows

Passo 10: Scaricare apache_php-fcgid.conf

Scarichiamo ora il file di configurazione per Apache che "attiva" il modulo mod_fcgid.so:

» Download: apache_php-fcgid.conf

Al termine, spostiamo questo file all'interno della sottodirectory conf di Apache: se avete seguito le indicazioni della guida ad Apache, si tratta di C:\Program Files\Apache\conf.

Prestate attenzione ad estrarre nel percorso giusto! Il file deve finire dentro allasottocartella conf, non immediatamente dentro ad Apache!

Guida definitiva PHP 8 Windows 10: come installare configurare PHP 8 Apache Windows

Passo 11: Caricare il file di configurazione

Ora che il file apache_php-fcgid.conf è al posto giusto, dobbiamo farlo caricare ad Apache. Apriamo dunque il file httpd.conf presente nella stessa cartella C:\Program Files\Apache\conf.

Possiamo aggiungere la direttiva necessaria al caricamento del nuovo file di configurazione dove preferiamo. Ad esempio: prima delle istruzioni # Virtual Hosts. La stringa da aggiungere è la seguente:

# PHP

Include conf/apache_php-fcgid.conf

Guida definitiva PHP 8 Windows 10: come installare configurare PHP 8 Apache Windows

Passo 12: Rimuovere DirectoryIndex

Dobbiamo apportare un'altra modifica allo stesso file httpd.conf.

La direttiva DirectoryIndex stabilisce quale file restituire quando l'utente richiede via browser una directory oppure il dominio del nostro sito senza indicare un file specifico (http://miosito.com). Di default, Apache restituisce index.html, ma per generare dinamicamente la pagina con PHP dobbiamo usare index.php.

Il file apache_php-fcgid.conf include già la direttiva configurata in modo opportuno, ma per renderla effettiva dobbiamo eliminare manualmente il default. All'interno dello stesso httpd.conf, cercare DirectoryIndex quindi cancellare completamente tutte le istruzioni e i commenti compresi fra queste frasi (estremi compresi):

# DirectoryIndex: sets the file that Apache...

...

</IfModule>

Guida definitiva PHP 8 Windows 10: come installare configurare PHP 8 Apache Windows

Salvate le modifiche e chiudete il file: qui abbiamo finito.

Passo 13: Riavviare Apache

Procediamo ora a riavviare il servizio di Apache tramite linea di comando ("C:\Program Files\Apache\bin\httpd.exe" -k restart) oppure con Apache Service Monitor

Guida definitiva PHP 8 Windows 10: come installare configurare PHP 8 Apache Windows

Passo 14: index.php

Se già non l'avete fatto, scaricate il pacchetto HTML e PHP di esempio:

» Download: File index per test web server

Scompattatelo nella cartella che contiene il vostro sito e otterrete il file index.php di test.

Passo 15: Test di PHP

Tutto è pronto: apriamo il browser web e digitiamo l'URL del nostro sito locale (http://localhost, ad esempio) per visitare il sito in esecuzione sul PC stesso. Se tutto funziona correttamente, vedrete la pagina di test

[se state usando la vecchia versione "classica" di Microsoft Edge e http://localhost non risponde, seguite questa guida: Microsoft Edge e sito locale (http://localhost) che non si apre: come risolvere l'errore con Apache o IIS]

Notate la data mostrata a centro pagina: se viene visualizzata correttamente, significa che PHP sta funzionando correttamente ed avete concluso

Guida definitiva PHP 8 Windows 10: come installare configurare PHP 8 Apache Windows

Se lo spazio dopo la freccia rimane bianco, invece, c'è qualcosa che non va. La primissima cosa da fare è assicurasi di aver riavviato Apache, quindi ripercorrere i vari Passi di questo articolo fino ad individuare l'errore.

Cosa fare ora?

Arrivati a questo punto, PHP è installato e funzionante in ambiente Windows. Probabilmente, però, vorremo installare anche un database come MySQL, indispensabile per eseguire un gestore di contenuti (CMS) come WordPress o pressoché qualsiasi altra cosa. Per il resto della guida:

» Leggi: Installare e configurare un server web: La Grande Guida ad Apache, MySQL, PHP su Windows e Linux in modo facile