XAMPP Windows mit mehreren PHP-Versionen

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

XAMPP Windows mit mehreren PHP-Versionen

Postby turrican72 » 25. April 2013 20:07

Hallo zusammen,

die Frage ist bestimmt schon hundertfach diskutiert und gefragt worden. Leider finde ich hier im Forum keinen Beitrag dazu. Auch beim Googeln finde ich immer nur Lösungen die mit viel gebastel und Experimenten verbunden ist.

Mein Anliegen: Ist es möglich mehrere PHP5.x Versionen durch "umschalten" oder fcgi in mehreren vhosts zum Laufen zu bekommen?
Am liebsten wäre mir die Version zum Umschalten, nicht mit vhosts, da ich sonst den Code zum testen in jedem vhost (mit anderer PHP-Version) haben müsste.

Also php5.2.x, 5.3.x und 5.4.x. Ich als PHP-Entwickler stoße immer wieder auf das Problem dass bei zu neuen PHP-Versionen in der Entwicklungs-Umgebung es massive Probleme auf Zeilsystemen gibt auf denen andere PHP-Versionen laufen.

Früher war in Apachefriends mal ein Umschalter von PHP4 auf PHP5 integriert. So eine Lösung suche ich für mehrere PHP5-Versionen.

Sorry wenn die Frage schon zu oft gestellt worden ist, ich habe hier im Forum wirklich nichts gefunden.

Grüße
Stefan
turrican72
 
Posts: 2
Joined: 25. April 2013 19:54
Operating System: Windows 7

Re: XAMPP Windows mit mehreren PHP-Versionen

Postby Nobbie » 26. April 2013 00:00

turrican72 wrote:Am liebsten wäre mir die Version zum Umschalten


Am einfachsten erscheint es mir, einfach verschiedene PHP Versionen auf der Festplatte nebeneinander zu installieren und je nach Bedarf auf "PHP" (o.ä.) umzubenennen. Also so ungefähr:

c:/xampp/php5.2
c:/xampp/php5.3
c:/xampp/php5.4

und natürlich

c:/xampp/php

Und dann entweder händisch oder mit einem kleinen Batchscript jeweils php5.2 oder so in php umbenennen, allerdings Apache neu starten (weil DLLs aus dem Ordner geladen werden).
Nobbie
 
Posts: 13183
Joined: 09. March 2008 13:04

Re: XAMPP Windows mit mehreren PHP-Versionen

Postby turrican72 » 26. April 2013 00:22

Hallo, danke für die schnelle Antwort.
Blöde Frage: Wie installiere ich verschiedene PHP-Versionen für XAMPP? Ich habe die Windows PHP-Binaries von der PHP-Homepage in der Version 5.2.17 in der ZIP-Version heruntergeladen, ausgepackt und als Verzeichnis php in den xampp Ordner gepackt. (vorher natürlich den bestehenden umbenannt)
Leider funktioniert das nicht. Habe beide Versionen Thread-Safe und Non-Thread-Safe probiert. Sind die überhaupt so wie sie sind für den Einsatz im XAMPP geeignet?
Oder muss ich den php-Ordner einer älteren XAMPP-Version hernehmen?

Danke + Grüße
Stefan
turrican72
 
Posts: 2
Joined: 25. April 2013 19:54
Operating System: Windows 7

Re: XAMPP Windows mit mehreren PHP-Versionen

Postby Nobbie » 27. April 2013 13:44

turrican72 wrote:Leider funktioniert das nicht


Wüßtest Du mit so einer Meldung etwas anzufangen? (Sagst Du in der Autowerkstatt auch, "mein Auto funktioniert nicht"?).

Also bitte ein bißchen mehr investieren und vernünfige Fehlermeldungen (besonderes error.log) zeigen. Grundsätzlich weiß ich, dass es Probleme mit verschiedenen VisualC Compilern geben kann (VC6 vs. VC9). Ich weiß aber jetzt nicht, wie was compiliert ist. Diese Probleme kann man umgehen, in dem man PHP nicht als Modul von Apache lädt, sondern im CGI Modus ausführt. Im Readme in den PHP Ordnern steht die notwendige Dokumentation.

Generell müßte PHP auch unter Xampp austauschbar sein. Wenn es da wirklich an Xampp liegt, dass es nicht geht, verzichtest Du eben auf Xampp und installierst Apache / PHP / MySQL selbst, direkt von den einzelnen Anbietern.

Eine andere Möglichkeit, mehrere PHP Versionen gleichzeitig zu betreiben, besteht darin, einfach verschiedene Extension verschiedenen Interpretern (dann aber wirklich im CGI Modus) zuzuordnen. Also *.php2, *.php5, oder auch *.php52, *.php53 usw. verschiedenen Interpretern zuordnest. Oder noch schlichter, einfach PHP im CGI Modus betreiben und in der Shebang Zeile (1. Zeile a la "#!c:/php.php.exe") einfach jeweils einen anderen PHP Interpreter auswählen.

Oder mehrere Apaches mit verschiedenen PHP Versionen laufen lassen, alle mit den gleichen DocumentRoots, aber auf verschiedenen Ports. Kann man auch selbstredend einrichten, beispielsweise http://localhost:8532 steht für PHP 5.32, http://localhost:8540 steht für PHP 5.40 usw. - da kann man sogar "über Kreuz" auf die verschiedenen Versionen verlinken. Du musst nur darauf achten, dass nicht zwei Apache auf irgendeinem Port gleichzeitig "LISTEN", denn das gibt eine Fehlermeldung, weil das nicht geht. Das ganze ginge auch mit einem einzigen Apachen und mit VirtualHosts, die kann man nämlich auch pro Port definieren, dass muss nicht pro Domain sein.

Also Varianten gibt es da wirklich genug.
Nobbie
 
Posts: 13183
Joined: 09. March 2008 13:04


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 63 guests