Installare versioni multiple di PHP con XAMPP in Windows

ATTENZIONE! Il post ha più di 2 anni e le informazioni contenute potrebbero essere obsolete (ad esempio a causa di un aggiornamento di versione rispetto agli elementi descritti o links modificati da siti esterni).

Per gestire più versioni di PHP in Windows è possibile installare diverse macchine virtuali o utilizzare strumenti come Vagrant o Docker.
Nel caso in cui si volesse invece utilizzare XAMPP si può procedere nel seguente modo (forse non è la soluzione ottimale e più corretta, ma funziona!).
Al momento è stato testato per lo switch di versioni minori, nel caso corrente tra PHP 5.5 e 5.6.

1) Nella directory di installazione (solitamente C:\xampp) rinominare la directory "php" in "php5.5" (o in base alla versione corrente)

2) Creare, sempre in C:\xampp, una nuova directory "php5.6"

3) Scaricare il file .zip o .7z della versione portable di XAMPP con la versione di PHP desiderata da qui: http://portableapps.com/apps/development/xampp

4) Decomprimere il file scaricato e copiare il contenuto della cartella php in quella appena creata in C:\xampp

5) A questo punto tramite file .bat si può automatizzare lo switch tra le versioni.
NOTA: prima di cambiare versione fermare il webserver Apache e riavviarlo solo dopo lo switch

Creare il file set-php-5.5.bat con questo contenuto:

@echo off
rmdir C:\xampp\php
mklink /J C:\xampp\php C:\xampp\php5.5
echo Impostata la versione di PHP 5.5
pause

E il file set-php-5.6.bat :

@echo off
rmdir C:\xampp\php
mklink /J C:\xampp\php C:\xampp\php5.6
echo Impostata la versione di PHP 5.6
pause

I due files possono essere portati nel desktop tramite un collegamento per gestire più facilmente il cambio di versione.

Il funzionamento è molto semplice: per non modificare altri files di configurazione di XAMPP in cui sono indicate le directory corrette di PHP (come ad esempio il file httpd-xampp.conf) tramite i files .bat è possibile creare al volo delle junctions (links) tra la directory php e quella della versione corretta, in modo del tutto trasparente al resto dell'installazione.
Prima della creazione viene sempre cancellata la junction esistente.
In questo modo i vari files di xampp punteranno sempre alla directoy "php" che conterrà però di volta in volta la versione desiderata.

Se si hanno anche altre versioni è possibile creare altrettanti files .bat modificando la directory di destinazione della giunzione.

La stessa procedura è utilizzabile anche nel caso in cui si volesse avere la stessa versione di PHP ma con configurazioni diverse (ad esempio con librerie diverse installate o altri parametri di configurazione).


Commenti