di: Daniele Salvatore Albano 15 Luglio 2004
Sicuramente molti si saranno domandati se sia possibile continuare a sviluppare con PHP4 e al tempo stesso testare PHP5, in effetti si tratta di una configurazione estremamente semplice.
Ci sono svariati sistemi per far convivere PHP4 e PHP5 sullo stesso webserver, ma noi ne tratteremo solo uno per motivi di semplicità e di compatibilità, e cioè installeremo uno dei due interpreti (verosimilmente quello PHP5) come CGI: in questo modo funzionerà bene con Apache 1.3.x, ma anche con Apache 2.x ed qualsiasi altro web server.
Comunque, per chi fosse interessato ad ulteriori configurazioni, di seguito saranno riportati dei link che mostreranno come installare, ad esempio, PHP5 come Fast-CGI su Apache2, o all'interno di uno specifico Virtual Host ed altro ancora.
Dobbiamo comunque tenere presente che l'interprete PHP5 ha un'ottimo supporto per la retrocompatibilità con gli script PHP4 (abilitando l'opzione già vista), quindi prima di utilizzare due versioni di PHP contemporaneamente vi consiglio di testare i vostri script su PHP5 per vedere se funzionano in ogni caso correttamente.
Gli script interpretati dalla versione CGI di PHP saranno molto più lenti rispetto a quelli interpretati dalla versione di php, che gira come modulo del web server.
Il problema principale è decidere quale versione di PHP utilizzare come CGI, infatti se vorremo continuare, principalmente, a sviluppare utilizzando PHP4, che si trova su tutti gli hoster che supportano PHP, allora dovremo mettere PHP5 come CGI, se vorremo, invece, sviluppare i nuovi applicativi utilizzando PHP5, dovremo mettere PHP4 come CGI, ma questo rallenterà terribilmente i vecchi applicativi.
Comunque, immagino che a pochi interessi sviluppare principalmente per PHP5 dato che ancora nessun'hoster lo utilizza, quindi utilizzeremo proprio quest'ultimo in modalità CGI.
Le operazioni da eseguire sono veramente basilari, queste, ovviamente, devono essere svolte dopo la corretta compilazione ed installazione di PHP4 con Apache.
Entriamo nella directory contenente i sorgenti di PHP5:
cd /usr/local/src/php-5.y.z
Adesso è necessario ricompilare PHP5 utilizzando dei parametri diversi rispetto all'installazione come modulo, omettendo il riferimento a APXS.
./configure --prefix=/usr/local/php5
make
make install
cp php.ini-dist /usr/local/php5/lib/php.ini
Non ho abilitato alcuna estensione, quindi è importate che aggiungiate le estensioni che ritenete utili.
Se avete inserito, nel vostro httpd.conf, la riga inerente al modulo di PHP5 per Apache dovete toglierla, ovvero dovete rimuovere:
LoadModule php5_module libexec/libphp5.so
Fatto questo possiamo procedere all'installazione di PHP5 come CGI, basta aggiungere, sempre all'interno del file di configurazione di apache, le seguenti righe:
ScriptAlias /cgi-php/ "/usr/local/php5/bin/"
AddType application/x-httpd-php5 .php5
Action application/x-httpd-php5 "/cgi-php/php"
Queste linee specificheranno ad apache di far interpretare i file con estensione .php5 all'interprete PHP per CGI, in questo modo i vostri applicativi con estensione .php5 verranno automaticamente interpretati dall'interprete PHP5 CGI.
Fatto tutto questo riavviate apache e PHP5 funzionerà correttamente e normalmente se non si sono verificati errori durante la procedura di compilazione ed installazione.
ATTENZIONE: I comandi come include, include_once, require e require_once non verranno interessati da questa modifica, i file inclusi tramite loro verranno interpretati dalla versione di php che sta eseguendo uno script, ovvero se includete un file con estensione .php tramite PHP5 questo verrà interpretato da PHP5 e non da PHP4.
Inoltre se avete installato il Wrapper SUEXEC, i CGI in generale potrebbero avere dei problemi.
L'unica carenza di questo sistema è che nel passaggio da un'ambiente di sviluppo, ad esempio il vostro sistema, ad un'ambiente di produzione, ad esempio il vostro hoster, sarete costretti a rinominare tutte le estensioni dei file da .php5 a .php per farli funzionare correttamente con Apache e PHP5, quindi ancora una volta ripeto, testate se la retro compatibilità di PHP5 funziona correttamente con i vostri script in modo da evitare problemi successivi.
Guida SymfonyScopriamo quanto è facile programmare in PHP. Una guida al framework... |
Guida PHP e MySql praticaEsaminare e comprendere i comandi fondamentali di interazione tra... |
Guida programmazione ad oggetti con PHP 5Come creare applicazioni Web utilizzando la programmazione orientata... |
Ogni lunedì, direttamente nella tua e-mail: script, articoli, guide e tutorial su PHP, MySQL e Apache.
Iscriviti alla newsletter
|
|
Corso Webmaster con PHP01 Marzo 2010 a Milano |
|
|
Corso Amministratore Linux15 Febbraio 2010 a Roma |
|
|
Corso Webmaster con PHP29 Marzo 2010 a Roma |