Configurazione di PHP 5.1.2 in Apache 2.0.55 per Windows

(torna alla vecchia versione sul vecchio sito)

*Queste sono istruzioni dettagliate per installare “a mano” PHP in Apache, se preferite avere subito una configurazione funzionante provate [xampp](http://www.apachefriends.org/en/xampp-windows.html).*

Questo è un mini corso per l’installazione e la configurazione di PHP 5.1.2 (come modulo) su macchine equipaggiate con Windows XP e web server Apache 2.0.

###Installazione PHP 5.1.2.

Dopo esservi procurati una copia della distribuzione di PHP, tra le disponobili consiglio lo zip da circa 8 Mb con tutti i moduli (ad esempio dal mirror italiano di php.net), dovete scompattarla in una directory a scelta, ad esempio “C:\Programmi\php\“.

###Configurazione di PHP.

Individuate il file “php.ini-dist” e copiatelo col nome “php.ini” nella stessa directory.

Se volete attivare particolari moduli, modificate il file “php.ini” (ad esempio usando il notepad di Windows o SciTE).

Individuata la sezione “Dynamic Extensions“, troverete la lista dei moduli che possono essere caricati da PHP, potete attivare un modulo togliendo il punto e virgola (“;”) davanti (i moduli sono i file nella directory “C:\Programmi\php\ext\“).

I moduli di PHP sono molti, non vi resta che andare a leggere la copiosa documentazione disponibile sul sito mirror italiano di php.net, anche se praticamente è tutta in inglese :-(. Per ulteriori informazioni consultate la FAQ.

Adesso dobbiamo spiegare a windows dove si trova PHP, per farlo aprite il Pannello di Controllo, e fate doppio click su Sistema, andate al tab Avanzate e cliccate sul bottone in basso Variabili d’ambiente. Dovreste avere una finestra come in figura.

Variabili d'ambiente XP

Fate doppio click su “**Path**” ed aggiungete in coda “;C:\Programmi\php“, o la directory in cui avete scompattato PHP.

Path PHP

Questo passaggio permette a PHP di trovare le librerie necessarie all’esecuzione.

Fatto questo create una nuova variabile di sistema, con nome “PHPRC” e valore la directory dove risiede PHP.

PHPRC

Questo passaggio permette a PHP di trovare il file php.ini nella propria directory invece che in quella di sistema.

In questo modo gli aggiornamenti di PHP saranno più agili, rispetto al vecchio metodo per cui bisognava ricordarsi di aggiornare la libreria “php5ts.dll” in c:\windows\system e di andare ad aggiornare php.ini in c:\windows.

###Configurazione di Apache Web Server.

Per informazioni più dettagliate sull’installazione di Apache controlla questa pagina: Installazione di Apache 2.

Una volta installato Apache (supponiamo in “C:\Programmi\Apache Group\Apache2\“):

* Aprite il file “C:\Programmi\Apache Group\Apache2\conf\httpd.conf” e aggiungete nella sezione “Dynamic Shared Object (DSO) Support” un rigo contenente:
LoadModule php5_module C:/Programmi/php/php5apache2.dll Notate le barre rigirate!

Questo modulo che viene caricato da Apache all’avvio, ed è quindi più veloce rispetto alla modalità CGI (che deve avviare il programma php.exe ogni volta).

* Per usare PHP come filtro inserite in httpd.conf (più in basso in httpd.conf ci sono dichiarazioni analoghe) la seguente riga:
AddType application/x-httpd-php .php
* Riavviate Apache dal'”Apache Monitor” vicino all’orologio o dal menu.
* Ora Apache è pronto ad interpretare i files .php, fate una rapida prova creando un file “C:\Programmi\Apache Group\Apache2\htdocs\prova.php” contenente:
< ?php phpinfo(); ?>
poi dal vostro browser andate alla pagina “http://localhost/prova.php” (oppure alla porta 8080), se appare una lunga pagina con un bel po’ di informazioni sul vostro PHP, allora avete finito!
(localhost o 127.0.0.1 sono rispettivamente il nome e l’indirizzo IP con cui la vostra macchina identifica se stessa)

Vi ricordo che dalla versione 4.1 di PHP le variabili ricevute con GET e POST non sono più globali.

Cioè se chiamate “http://localhost/prova.php?var=12” (8080), non avrete una variabile $var con valore 12, ma avrete una voce “var” nel dizionario _REQUEST (scorrete fino in fondo alla pagina per vederlo).

Per maggiori informazioni su questo cambiamento leggete qua: Release notes PHP 4.1.

  • Antonio campese

    Ho eseguito alla lettera le istruzioni per configurare php5 su apache 2

    8< --- TAGLIATO ... non mi postate l'INTERA configurazione qua!!!! 8<---

    è tutto esattamente (mi sembra) come nelle istruzioni comprese le modifiche previste da install.txt di PHP ma il server apache non parte, solo commentando queste righe

    LoadModule php5_module “c:/Apache/php/php5apache2.dll”

    PHPIniDir “C:/Apache/php”

    il server parte ma, ovviamente, php non funziona

    la ringrazio anticipatamente per il tempo dedicatomi e le porgo i miei più cordiali saluti

    antonio campese

  • Matteo

    Eheh… so’ un po’… che errore da?

  • Alessandra

    Ciao,
    anche a me da lo stesso errore, facendo il test mi dice che non trova
    C:\php\php5apache2.dll
    Effettivamente gli altri moduli partono dalla dir di apache… non è che ci manca qualcosa??

    Ciao e grazie
    Alessandra

  • Alessandra

    Sempre io… credo che sia utile per tutti, visto che neanche in php.net l’errore era corretto!
    Ho trovato la soluzione in:
    http://www.apachelounge.com/download/
    evidentemente la versione 2.2.2 di apache ha ancora qualcosina che non va;-)

    ciao
    Alessandra

  • gianpaolo

    a me da lo stesso problema:

    C:\Programmi\Apache Software Foundation\Apache2.2\bin>httpd
    httpd: Syntax error on line 115 of C:/Programmi/Apache Software Foundation/Apache2.2/conf/httpd.conf:
    Cannot load C:/Programmi/PHP/php5apache2.dll into server:
    Impossibile trovare il modulo specificato.

    grazie in anticipo

  • luca

    si, non funziona. Il problema è già conosciuto
    (vedi http://bugs.php.net/bug.php?id=37370&edit=1)

    La soluzione è scaricare php5.2-win32-latest.zip da http://snaps.php.net/win32/php5.2-win32-latest.zip

    e cambiare in httpd.conf il caricamento del modulo con
    LoadModule php5_module “c:/php/php5Apache2_2.dll”

    ciao

  • Ele

    scusate,
    ho installato php 5 e apache 2.2. Sul server compare “It works!”..quindi non credo di aver riscontrato prolemi di installazione di Apache. Ho seguito tutte le istruzioni per configurare apache con php, ma quando vado ad aprire localhost/info.php ma mi appare una pagina bianca con il codice php. Come se non riconoscesse il formato php.

    Che faccio?
    Grazie
    Ele

  • Matteo

    Dovresti aver conferma che php è stato correttamente caricato come modulo di apache, se non vedi niente del genere nell’Apache Monitor, prova a riguardare la configurazione.

    Altrimenti… non saprei…

  • Daniele

    Salve io sono riuscito ad installare egreggiamente sia il server Apache che il php. Semprerebbe tutto funzionante però visto che mi serviva pure un interazione con un database(PostgreSQL nello specifico) ho aggiunto nel php.ini l’estensione php_pgsql.dll però non riesce a vederlo e mi dà errore mi sapreste aiutare?
    grazie a tutti
    Daniele A.

  • Matteo

    Che errore ti da? Senza sintomi è difficile azzardare una diagnosi… :-P

  • http://www.medifladen.it nello

    grazie siete fantastici finalmente sono riuscito a installare apache e php grazie di cuore a tutti voi siete meglio di html.it

  • http://Nessuno Marco

    a me da lo stesso problema con le estensioni MySQL.
    io ho installato mysql 5.0.22 e dovrei quindi usare mysqli però allo start di apache non trova il modulo anche se il percorso è corretto…
    grazie