XAMPP mit mehreren PHP-Versionen zum Laufen bringen

18

Wie kann ich XAMPP installieren, um mit verschiedenen PHP-Versionen zu arbeiten?

Ich benutze XAMPP, weil einige der Skripte fehlerhaft sind, wenn sie in WAMP ausgeführt werden. Ich benutze WAMP, weil es verschiedene Versionen von PHP unterstützt.

Aber jetzt möchte ich es auf XAMPP reduzieren, damit meine Webentwicklung einfacher zu verwalten ist.

Ist es möglich, XAMPP so zu konfigurieren, dass es mit mehr als einer PHP-Version funktioniert? Oder muss ich nach einer alternativen Lösung suchen?

Hinweis: Ich arbeite unter Windows 7.

Pennf0lio
quelle
Möglicherweise möchten Sie WAMPSERVER anstelle von Xampp verwenden. WAMPSEVER enthält die Switch-Taskleiste für die PHP-Version. was praktisch ist.
Weijing Jay Lin

Antworten:

8

Bitte beachten Sie, dass
diese Antwort für eine neue Version von XAMPP nicht gültig ist.


Zuerst müssen Sie Apache von XAMPP stoppen . Dann,

Gehen Sie zu cmd und wechseln Sie in Ihren XAMPP-Ordner. Wenn sich Ihr XAMPP-Ordner beispielsweise in C: \ befindet

C:\>cd C:\XAMPP 

In diesem Ordner befindet sich eine Datei mit dem Namen php-switch.bat, die über die Befehlszeile ausgeführt wird. Wenn nicht, können Sie auch php-switch.batdirekt ausführen .

Sie sehen die Version, auf der Sie sich gerade befinden, und die Vorgehensweise zum Wechseln. Geben Sie beispielsweise ein, 4um PHP 4 zu wechseln, und befolgen Sie dann die Anweisungen.

php-switch.bat läuft im Terminal

PHP 4 wird in Ihrem XAMPP \ PHP-Verzeichnis installiert und wechselt erfolgreich. Aktivieren Sie dann den Apache wieder.

Ye Lin Aung
quelle
1
Ich kann php-switch.bat unter XAMPP 1.7.3 nicht finden, das ich installiert habe. Gibt es eine spezielle xamp-Version, die dies unterstützt? Vielen Dank!
Pennf0lio
Hoppla. Ich denke , die aktuelle Version nicht enthalten php4 mehr apachefriends.org/f/viewtopic.php?f=16&t=33327 .. Ich denke , dass Sie die ältere Version benötigen , wenn Sie auf v4 wechseln wollen
Ye Lin Aung
4
Dies gilt nicht mehr in neueren Versionen von XAMPP
Mauris
1
Was ist nicht mehr gültig? PHP4 installieren oder Versionen wechseln?
AlxVallejo
4
es gibt kein php-switch.bat mehr in der neuen version
Toskan 18.02.14
5

Die beste Methode ist, die PHP-Einstellungen in zu ändern

/apache/conf/extra/httpd-xampp.conf

um die neue Version von PHP widerzuspiegeln, die Sie verwenden möchten

In meinem Fall habe ich PHP5.4 nach C: \ XAMPPLITE \ PHP5.4 entpackt und dann die wichtigsten Zeilen in dieser Datei aktualisiert, z.

SetEnv PHPRC "C:\\xampplite\\php5.4"

LoadFile "C:/xampplite/php5.4/php5ts.dll"

PHPINIDir "C:/xampplite/php5.4"

Sie müssen auch sicherstellen, dass die richtige Version von php5apache2_2.dll installiert ist

Um dies sicherzustellen, habe ich die neue Version von php5apache2_2.dll mit einem eindeutigen Namen in das Apache-Modulverzeichnis kopiert und die Konfiguration entsprechend geändert:

copy php5.4\php5apache2_2.dll apache\modules\php5apache2_2-5_4.dll

und in der Datei httpd-xampp.conf

LoadModule php5_module modules/php5apache2_2-5_4.dll
Judder
quelle
1

Wenn Ihre Skripte fehlerhaft sind, bleiben sie fehlerhaft, egal welche Serverpakete Sie wechseln. Wenn das Problem in Ihrer Serverkonfiguration liegt, suchen Sie es sich aus und klären Sie es.

Eine echte Hardcore-Lösung wäre, Serverkomponenten (und ihre Konfigurationen) manuell zu installieren und zu verwalten. Seit ich von WAMP zu einer selbstverwalteten Serverinstallation gewechselt bin, habe ich nie wieder das Bedürfnis nach vorgefertigten Serverlösungen verspürt.

Antichris
quelle
Danke für den Hinweis! Die meisten in der Diskussion schlagen vor, XAMPP als schnelle und schmutzige Lösung für das Skriptproblem zu verwenden. Während Sie einen Punkt haben, ist es für mich ratsam, nur den Server zu wechseln (weil es schnell geht), verglichen mit dem Durcheinander mit der Serverkonfiguration, dass ich keine Ahnung habe, wo ich anfangen soll.
Pennf0lio
Naja ... Früher oder später könnten Sie in eine Situation geraten, in der es keine andere Möglichkeit gibt, als sich mit Konfigurationen zu befassen (wie das Konfigurieren eines Servers über eine Terminalverbindung). Falls Sie es sich anders überlegen, können Sie versuchen, Ihre vordefinierten XAMPP / WAMP / LAMP-Konfigurationsdateien mit denen einer neuen Standalone-Serverinstallation zu vergleichen, und dann nach Handbüchern suchen, was diese Unterschiede bedeuten. So habe ich gelernt, was ich jetzt weiß.
Antichris
Cool danke für den Tipp. Ja, ich stimme Ihrem Standpunkt zu, aber im Moment werde ich mich nur einzeln mit meinem Problem befassen und die schnellste Lösung anstreben. : PI haben zu viele Fristen. Ich schätze die Hilfe wirklich :)
Pennf0lio
Ich habe eine ähnliche Frage gestellt, aber mit mehr Funktionen hier. Serverfault.com/questions/121810/… Ich wollte einzelne Elemente wie Apache, MySQL, PHP und Phpmyadmin in meinem XAMPP aktualisieren. Ich bin noch auf der Suche nach einer Lösung dafür. Wenn jemand eine Lösung findet, lass es mich bitte wissen. Vielen Dank
Gaurav Sharma
1

Wenn Sie diese Funktion (dh die Möglichkeit, Apache-, MySQL- und PHP-Komponenten-Builds zu mischen und abzugleichen) und die gebündelten AMP-Stack-Apps von Drittanbietern bevorzugen möchten, können Sie sich WAMPServer 2.0 als Option für Windows ansehen Die gebündelte AMP-Option, die ich angeschaut habe (für Windows, Mac und Linux), lässt das Austauschen von Komponenten-Builds nicht zu (ich beziehe Switches von PHP4 und PHP5 nicht als Komponenten-Builds ein, da sie eigentlich nur aufgrund von Legacy-Code angeboten wurden Probleme, bis PHP5 abwärtskompatibler und PHP4 seltener wurde).

Die meisten gebündelten AMP Stack-Apps von Drittanbietern, insbesondere Unix-basierte OS-Builds (Mac und Linux), müssen jede Komponente mit bestimmten Anweisungen und kompilieren, damit sich die Stack-Komponenten in derselben Verzeichnisstruktur wie das Stammverzeichnis der App befinden Argumente, die letztendlich einige der Ordnerreferenzen und binären Signaturen in jede der Komponenten fest einbinden, bauen sich selbst auf .... insbesondere die mysql- und php-Komponenten, da sie Bibliotheksobjekte haben, die gemeinsam genutzt werden und auf die spezifisch verwiesen und eingeschlossen werden müssen während der Quellcode-Kompilierung ... (und es scheint mir, dass die meisten aus irgendeinem Grund nicht einfach mit jeder optionalen Direktive und Bibliothek kompilieren ... Ich bin mir nicht sicher, ob ich das Problem lösen würde oder nicht b / c Ich bin so weit gekommen mit meinem projekt das eben noch zu beantworten).

Ein weiterer Hinweis, da es sich um den gleichen Kontext handelt ... In Bezug auf die Kommentare zur Verwendung der Komponenten Autonome Installationen im Vergleich zu den _AMPP-Stacks weiß ich leider nur, was ich oben geschrieben habe, weil ich versucht habe, die 3 Autonomen einzurichten Der Quellcode der Komponenten hat versucht, meinen Kuchen zu haben und ihn zu essen, obwohl ich noch nie Erfahrung mit einem von ihnen hatte. Ich kann also sagen, dass es zwei sehr überzeugende Gründe gibt, warum Entwickler dies tun und tun sollte die Stacks für lokale Entwicklungsumgebungen verwenden:

1) Wenn Ihr Projekt diese Technologie nutzt, aber die Funktionen innerhalb eines Komponentenkerns nicht explizit erweitert werden, möchten die meisten nur in Betrieb sein, um an dem arbeiten zu können, woran sie arbeiten müssen um herauszufinden, welche Konfigurationen für die 3 Komponenten erforderlich sind, um nahtlos miteinander zu kommunizieren. Es kann tagelang schwierig sein, herauszufinden, welche Direktiven, Module, Bibliotheken, Kompilierungsargumente usw. benötigt werden. Wenn Sie es bereits wissen, großartig, aber empfehlen Sie es keinem, der es nicht tut, es sei denn, Sie werden es für ihn tun.

2) Die gebündelten Stacks sind autonom und von den Konfigurationsdateien des Betriebssystems isoliert, sodass Sie Ihre Entwicklungsumgebung ohne schwerwiegende Konsequenzen in den Papierkorb werfen können. Wenn Sie Skripts ausführen möchten, die Dateien im erforderlichen Ordner "etc" bereitstellen, tue ich das nicht Ich weiß von Ihnen, aber ich kann von Zeit zu Zeit einen Fehler machen, und ein Fehler im Ordner ../XAMPP/etc ist weit weniger schmerzhaft als ein Fehler im Ordner / etc.

3) GUI ... GUI ... GUI ... nicht jeder ist eine Befehlszeile Mozart und die AMPP-Stacks bieten alle eine schöne GUI, um Dinge nach Herzenslust ein- und auszuschalten. Wenn Sie eine grafische Benutzeroberfläche wünschen, werden Sie sich für die AMPP Stack-Apps interessieren. Wenn es Ihnen egal ist, hängt alles davon ab, wie viel Gewicht oder Bestand Sie in meine Punkte 1 und 2 gesteckt haben

Wie auch immer, entschuldigen Sie die Dissertation von "How to Make Someone Yawn" (Wie man jemanden zum Gähnen bringt) und hoffen Sie, dass jemand etwas daraus macht.

Eric Galuskin
quelle