di: Ermanno Ancona 28 Dicembre 2007
Ebbene sì, la tanto annunciata morte di PHP4 è ormai alle porte. La "End of Life" è stata fissata per lo scorso 31 dicembre. Dopo questa data potremo contare solo sulle patch di sicurezza, ma anche queste fino ad agosto 2008 e non oltre. Come succede sovente, al reiterato annuncio della prossima fine, in molti hanno risposto "mo' me lo segno" come Massimo Troisi in "Non ci resta che piangere" e poi l'hanno relegato in un angolo della propria memoria.
A parte la battuta non tutti avranno diligentemente aggiornato il proprio codice anche se PHP5 è stabile da un pezzo e si parla già di PHP6. Le motivazioni possono essere varie e sicuramente buone, ma ora siamo di fronte al problema. Codice non compatibile con PHP5 non ha futuro, quindi sui nostri server dovrà girare tale versione del linguaggio. Ma in tal caso è possibile evitare notti insonni a sistemare il codice più datato e programmare la transizione con maggiore calma? Naturalmente si. Anzi il discorso ha molto del déjà vu. Ricordate il rilascio di PHP5? In quell'occasione comparvero in rete numerosi tutorial che spiegavano come provare la versione 5 mantenendo l'installazione di PHP4 sulla propria macchina. Anche HTML.it contribuì con un articolo in proposito. Basterà invertire i termini del problema scambiando PHP4 con PHP5 e avremo la soluzione in tasca.
Forse sarebbe meglio dire le soluzioni, in quanto la documentazione reperibile presenta diversi approcci risolutivi ciascuno con i propri pro ed i propri contro. In questo e in un prossimo articolo analizzeremo due modi diversi di affrontare il problema.
La soluzione che presenterò di seguito permette di utilizzare PHP5 come modulo di Apache ed eseguire PHP4 come cgi (o fastcgi). Rispetto ad altre similari ha il vantaggio di non richiedere la modifica dell'estensione da .php a .php4 per distinguere quali script eseguire con la versione 4 e quali con la 5. Inoltre non comporta l'utilizzo di porte diverse dall'80. È forse la soluzione più indolore e meno onerosa dal punto di vista delle configurazioni, specie per alcune distribuzioni.
Supponiamo di partire da un'installazione standard di Fedora 7 con Apache 2.2.6 e PHP 5.2.2 installati da pacchetti precompilati ed il linguaggio funzionante come modulo del web server. In tal caso la direttiva presente nel file di configurazione /etc/httpd/conf/httpd.conf:
Include conf.d/*.conf
provvederà ad includere (tra gli altri) il file php.conf contenente l'istruzione necessaria al caricamento del modulo PHP5:
LoadModule php5_module modules/libphp5.so
Mentre altre direttive al suo interno indicano all'interprete PHP5 di gestire i file con estensione .php:
AddHandler php5-script .php AddType text/html .php
Abbiamo detto che vogliamo utilizzare PHP4 come cgi: con Fedora 7 non possiamo, purtroppo, contare su un pacchetto php-cgi versione 4, salvo non lo troviate in qualche repository particolare.
Con altre distribuzioni potreste avere maggiore fortuna. Se usate, ad esempio, Ubuntu 7.04 Feisty potete trovare in rete chi ha costruito i pacchetti ad-hoc per questa versione. C'è anche chi ha utilizzato i pacchetti esistenti per la precedente Edgy, senza evidenziare problemi di sorta. Nel nostro caso non ci resta che procedere all'installazione dai sorgenti.
Guida risparmio energetico per serverDalla determinazione dei consumi al risparmio, dalla... |
Guida SubversionSVN è uno dei sistemi per il versioning più utilizzati al mondo.... |
Guida Application serverCosa sono, quali sono e come possono essere utilizzati nella... |
Ogni settimana, in due distinte newsletter: notizie a approfondimenti su Apache e IIS.
Iscriviti alla newsletter
|
|
Amministratore di Reti Windows Server 200811 Giugno 2012 a Milano |
|
Nessun corso previsto |