Perché passare da una versione all'altra di PHP quando è possibile utilizzare più versioni di PHP contemporaneamente con una singola installazione di xampp ? Con una singola installazione di xampp, hai 2 opzioni:
Esegui una versione precedente di PHP solo per la directory del tuo vecchio progetto:
questo servirà allo scopo la maggior parte delle volte, potresti avere uno o due vecchi progetti che intendi eseguire con una versione precedente di PHP. Basta configurare xampp per eseguire la versione precedente di PHP solo per quelle directory di progetto.
Esegui una versione di PHP precedente su una porta separata di xampp: a volte potresti aggiornare e vecchio progetto all'ultima versione di PHP quando devi eseguire lo stesso progetto su una versione di PHP nuova e precedente avanti e indietro. Quindi puoi impostare una versione precedente di PHP su una porta diversa (diciamo 8056), quindi quando vai su http://localhost/any_project/
xampp esegue PHP 7 e quando vai su http://localhost:8056/any_project/
xampp esegue PHP 5.6.
Esegui una versione precedente di PHP su un virtualhost: puoi creare un virtualhost come localhost56 per eseguire PHP 5.6 mentre puoi usare PHP 7 su localhost.
Consente di configurarlo.
Passaggio 1: Scarica PHP
Quindi hai PHP 7 in esecuzione su xampp, vuoi aggiungere una versione precedente di PHP, diciamo PHP 5.6. Scarica la versione nts (Non Thread Safe) dell'archivio zip PHP da php.net (vedi archivio per le versioni precedenti) ed estrai i file in c:\xampp\php56
. La versione thread-safe non include php-cgi.exe.
Passaggio 2: configuraphp.ini
Apri il c:\xampp\php56\php.ini
file nel blocco note. Se il file non esiste copia php.ini-development
per php.ini
e aprirlo in Blocco note. Quindi decommenta la seguente riga:
extension_dir = "ext"
Passaggio 3: configura apache
Apri il pannello di controllo di xampp, fai clic sul pulsante di configurazione per apache e fai clic Apache (httpd-xampp.conf)
. Si aprirà un file di testo che mette le seguenti impostazioni nella parte inferiore del file:
ScriptAlias /php56 "C:/xampp/php56"
Action application/x-httpd-php56-cgi /php56/php-cgi.exe
<Directory "C:/xampp/php56">
AllowOverride None
Options None
Require all denied
<Files "php-cgi.exe">
Require all granted
</Files>
</Directory>
Nota: se lo desideri, puoi aggiungere altre versioni di PHP all'installazione di xampp seguendo i passaggi da 1 a 3.
Passaggio 4 (opzione 1): [Aggiungi directory per eseguire una specifica versione di PHP]
Ora puoi impostare le directory che verranno eseguite in PHP 5.6. Basta aggiungere quanto segue in fondo al file di configurazione per impostare le directory.
<Directory "C:\xampp\htdocs\my_old_project1">
<FilesMatch "\.php$">
SetHandler application/x-httpd-php56-cgi
</FilesMatch>
</Directory>
<Directory "C:\xampp\htdocs\my_old_project2">
<FilesMatch "\.php$">
SetHandler application/x-httpd-php56-cgi
</FilesMatch>
</Directory>
Passaggio 4 (opzione 2): [Esegui la versione precedente di PHP su una porta separata]
Ora per impostare PHP v5.6 sulla porta 8056 aggiungi il seguente codice in fondo al file di configurazione.
Listen 8056
<VirtualHost *:8056>
<FilesMatch "\.php$">
SetHandler application/x-httpd-php56-cgi
</FilesMatch>
</VirtualHost>
Passaggio 4 (opzione 3): [Esegui una versione PHP precedente su un host virtuale]
Per creare un virtualhost (localhost56) in una directory (htdocs56) per utilizzare PHP v5.6 su http: // localhost56 , creare la directory htdocs56 nella posizione desiderata e aggiungere localhost56 nel file hosts ( vedere come ), quindi aggiungere il codice seguente nella parte inferiore del file httpd-xampp.conf.
<VirtualHost localhost56:80>
DocumentRoot "C:\xampp\htdocs56"
ServerName localhost56
<Directory "C:\xampp\htdocs56">
Require all granted
</Directory>
<FilesMatch "\.php$">
SetHandler application/x-httpd-php56-cgi
</FilesMatch>
</VirtualHost>
Fine: salva e riavvia Apache
Salvare e chiudere il file di configurazione, riavviare apache dal pannello di controllo di xampp. Se hai optato per l'opzione 2 puoi vedere la porta aggiuntiva (8056) elencata nel tuo pannello di controllo xampp.
Aggiornamento per errore:
intestazione non corretta dallo script 'php-cgi.exe': intestazione errata
Se si verifica l'errore sopra riportato, aprire di httpd-xampp.conf
nuovo e commentare la riga seguente con un # iniziale (carattere hash).
SetEnv PHPRC "\\path\\to\\xampp\\php"