Warum zwischen PHP-Versionen wechseln, wenn Sie mit einer einzigen xampp-Installation mehrere PHP-Versionen gleichzeitig verwenden können ? Bei einer einzelnen xampp-Installation haben Sie zwei Möglichkeiten:
Führen Sie eine ältere PHP-Version nur für das Verzeichnis Ihres alten Projekts aus:
Dies dient meistens dem Zweck. Möglicherweise haben Sie ein oder zwei alte Projekte, die Sie mit einer älteren PHP-Version ausführen möchten. Konfigurieren Sie xampp einfach so, dass ältere PHP-Versionen nur für diese Projektverzeichnisse ausgeführt werden.
Führen Sie eine ältere PHP-Version auf einem separaten Port von xampp aus: Manchmal aktualisieren Sie ein altes Projekt auf die neueste PHP-Version, wenn Sie dasselbe Projekt auf einer neuen und einer älteren PHP-Version hin und her ausführen müssen. Dann können Sie eine ältere PHP-Version an einem anderen Port (z. B. 8056) http://localhost/any_project/
einstellen. Wenn Sie also zu xampp wechseln, wird PHP 7 ausgeführt, und wenn Sie zu http://localhost:8056/any_project/
xampp wechseln, wird PHP 5.6 ausgeführt.
Führen Sie eine ältere PHP-Version auf einem virtuellen Host aus: Sie können einen virtuellen Host wie localhost56 erstellen, um PHP 5.6 auszuführen, während Sie PHP 7 auf localhost verwenden können.
Lass es uns einrichten.
Schritt 1: Laden Sie PHP herunter
Wenn Sie also PHP 7 unter xampp ausführen, möchten Sie eine ältere PHP-Version hinzufügen, z. B. PHP 5.6. Laden Sie die nts-Version (Non Thread Safe) des PHP-Zip-Archivs von php.net herunter ( ältere Versionen siehe Archiv ) und extrahieren Sie die Dateien unter c:\xampp\php56
. Die thread-sichere Version enthält keine php-cgi.exe.
Schritt 2: Konfigurierenphp.ini
c:\xampp\php56\php.ini
Datei im Editor öffnen . Wenn die Datei nicht existiert Kopie php.ini-development
zu php.ini
und öffnen Sie sie in Notepad. Kommentieren Sie dann die folgende Zeile aus:
extension_dir = "ext"
Schritt 3: Konfigurieren Sie Apache
Öffnen Sie die xampp-Systemsteuerung, klicken Sie auf die Schaltfläche config für Apache und klicken Sie auf Apache (httpd-xampp.conf)
. Eine Textdatei wird geöffnet. Fügen Sie die folgenden Einstellungen am Ende der Datei ein:
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>
Hinweis: Sie können Ihrer xampp-Installation nach den Schritten 1 bis 3 weitere PHP-Versionen hinzufügen, wenn Sie möchten.
Schritt 4 (Option 1): [Verzeichnisse hinzufügen, um eine bestimmte PHP-Version auszuführen]
Jetzt können Sie Verzeichnisse festlegen, die in PHP 5.6 ausgeführt werden. Fügen Sie einfach unten in der Konfigurationsdatei Folgendes hinzu, um Verzeichnisse festzulegen.
<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>
Schritt 4 (Option 2): [Ältere PHP-Version auf einem separaten Port ausführen]
Um nun PHP v5.6 auf Port 8056 einzustellen, fügen Sie den folgenden Code am Ende der Konfigurationsdatei hinzu.
Listen 8056
<VirtualHost *:8056>
<FilesMatch "\.php$">
SetHandler application/x-httpd-php56-cgi
</FilesMatch>
</VirtualHost>
Schritt 4 (Option 3): [Führen Sie eine ältere PHP-Version auf einem virtuellen Host aus]
Um einen virtuellen Host (localhost56) in einem Verzeichnis (htdocs56) für die Verwendung von PHP v5.6 unter http: // localhost56 zu erstellen, erstellen Sie das Verzeichnis htdocs56 an Ihrem gewünschten Speicherort und fügen Sie localhost56 zu Ihrer Hosts-Datei hinzu ( siehe How ), und fügen Sie dann den folgenden Code hinzu am Ende der Datei 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>
Fertig stellen: Apache speichern und neu starten
Speichern und schließen Sie die Konfigurationsdatei. Starten Sie Apache über die xampp-Systemsteuerung neu. Wenn Sie sich für Option 2 entschieden haben, wird der zusätzliche Port (8056) in Ihrem xampp-Kontrollfeld angezeigt.
Update für Fehler:
fehlerhafter Header aus Skript 'php-cgi.exe': Fehlerhafter Header
Wenn Sie auf den obigen Fehler stoßen, öffnen Sie ihn httpd-xampp.conf
erneut und kommentieren Sie die folgende Zeile mit einem führenden # (Hash-Zeichen) aus.
SetEnv PHPRC "\\path\\to\\xampp\\php"