Faire fonctionner XAMPP avec plusieurs versions de PHP

18

Comment puis-je installer XAMPP pour travailler avec différentes versions de PHP?

J'utilise XAMPP car certains scripts sont bogués lorsqu'ils sont exécutés dans WAMP. J'utilise WAMP car il prend en charge différentes versions de PHP.

Mais maintenant, je voudrais le rationaliser jusqu'à XAMPP afin que mon développement web soit plus facile à gérer.

Est-il possible de configurer XAMPP pour fonctionner avec plus d'une version de PHP? Ou est-ce quelque chose que je dois rechercher dans une solution alternative?

Remarque: je fonctionne sous Windows 7.

Pennf0lio
la source
Vous souhaiterez peut-être utiliser WAMPSERVER au lieu de Xampp. WAMPSEVER contient un plateau de changement de version PHP; ce qui est pratique.
Weijing Jay Lin

Réponses:

8

Veuillez noter que
cette réponse n'est pas valable pour la nouvelle version de XAMPP.


Tout d'abord, vous devrez arrêter Apache de XAMPP . Alors,

Allez sur cmd et basculez vers votre dossier XAMPP. Par exemple, si votre dossier XAMPP est dans C: \

C:\>cd C:\XAMPP 

Dans ce dossier se trouve un fichier nommé php-switch.bat, exécuté à partir de la ligne de commande. Sinon, vous pouvez également exécuter php-switch.batdirectement.

Vous verrez la version sur laquelle vous vous trouvez et la procédure à suivre pour changer. Par exemple, tapez 4pour changer PHP 4 puis suivez la procédure.

php-switch.bat exécuté dans le terminal

PHP 4 s'installera dans votre répertoire XAMPP \ PHP et basculera avec succès. puis réactivez Apache.

Ye Lin Aung
la source
1
Je ne trouve pas php-switch.bat sur XAMPP 1.7.3 installé. Existe-t-il une version xamp spécifique qui prend en charge cela? Merci!
Pennf0lio
Oups. Je pense que la version actuelle n'inclut plus php4 apachefriends.org/f/viewtopic.php?f=16&t=33327 .. Je pense que vous aurez besoin de l'ancienne version si vous voulez passer à la v4
Ye Lin Aung
4
ce n'est plus valable dans les nouvelles versions de
XAMPP
1
Qu'est-ce qui n'est plus valable? Installer des versions PHP4 ou swiching?
AlxVallejo
4
il n'y a plus de php-switch.bat dans la nouvelle version
Toskan
5

La meilleure méthode consiste à modifier les paramètres PHP dans

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

pour refléter la nouvelle version de PHP que vous souhaitez utiliser

Dans mon cas, j'ai décompressé PHP5.4 en C: \ XAMPPLITE \ PHP5.4, puis mis à jour les lignes clés dans ce fichier, telles que:

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

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

PHPINIDir "C:/xampplite/php5.4"

Vous devez également vous assurer que la version correcte de php5apache2_2.dll est installée

Pour m'en assurer, j'ai copié la nouvelle version de php5apache2_2.dll dans le répertoire des modules Apache avec un nom unique, puis j'ai modifié la configuration pour qu'elle corresponde:

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

et dans le fichier httpd-xampp.conf

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

Si vos scripts sont bogués, ils le resteront quel que soit le paquetage serveur que vous changez. Si le problème vient de la configuration de votre serveur, creusez-le et triez-le.

La vraie solution hardcore serait d'installer et de gérer manuellement les composants du serveur (et leurs configurations). Depuis que je suis passé de WAMP à l'installation de serveurs auto-administrés, je n'ai plus ressenti le besoin de solutions de serveurs préemballés.

antichris
la source
Merci pour le conseil! La plupart des discussions suggèrent d'utiliser XAMPP comme une solution rapide et sale pour le problème de script. Bien que vous ayez un point, pour moi, il est sage de simplement changer de serveur (car c'est rapide) par rapport à gâcher la configuration du serveur que je n'ai aucune idée par où commencer.
Pennf0lio
Eh bien ... Tôt ou tard, vous pourriez arriver à une situation où il n'y a pas d'autre option que de vous plonger dans les configurations (comme configurer un serveur via une connexion de terminal). Si vous changez d'avis, vous pouvez essayer de différencier vos fichiers de configuration prédéfinis XAMPP / WAMP / LAMP avec ceux d'une nouvelle installation de serveur autonome et de rechercher dans les manuels la signification de ces différences. C'est ainsi que j'ai appris ce que je sais maintenant.
antichris
Cool merci pour le conseil. Ouais, je suis d'accord avec votre point Mais pour l'instant je vais juste traiter mon problème un à la fois et j'irai pour la solution la plus rapide. : PI ont de nombreux délais. J'apprécie vraiment l'aide :)
Pennf0lio
J'ai posé une question similaire mais avec plus de fonctionnalités ici serverfault.com/questions/121810/… Je voulais mettre à jour des éléments individuels comme apache, mysql, php et phpmyadmin dans mon xampp. Je cherche toujours une solution à cela. Si quelqu'un trouve une solution, faites-le moi savoir. Merci
Gaurav Sharma
1

Si vous voulez cette fonctionnalité (signification, possibilité de mélanger et de faire correspondre les versions de composants apache, mysql et php) et préférez les applications AMP Stack groupées tierces, vous pouvez regarder WAMPServer 2.0 comme une option pour Windows ... à peu près tous les autres L'option AMP fournie que j'ai examinée (pour Windows, Mac et Linux) ne permet pas de permuter les versions de composants (je n'inclus pas les commutateurs de PHP4 et PHP5 en tant que versions de composants car ils n'étaient vraiment proposés qu'en raison du code hérité) jusqu'à ce que PHP5 devienne plus rétrocompatible et PHP4 moins abondant).

La plupart des applications AMP Stack groupées tierces, en particulier les versions de système d'exploitation basées sur Unix (Mac et Linux), afin d'avoir les composants de la pile dans la même structure de répertoires que le répertoire racine "app", elles doivent compiler chaque composant avec des directives spécifiques et des arguments qui, en fin de compte, connectent en dur certaines références de dossier et signatures binaires dans chacun des composants eux-mêmes ... en particulier les composants mysql et php car ils ont des objets de bibliothèque qui sont à la fois partagés et doivent être spécifiquement référencés et inclus pendant la compilation de la source ... (et il me semble que la plupart ne compilent pas pour quelque raison que ce soit avec toutes les directives et bibliothèques optionnelles incluses ... je ne suis pas sûr que cela résoudrait le problème ou non b / c, je suis arrivé jusque-là avec mon projet pour y répondre tout de suite).

Une autre remarque, car c'est dans le même contexte .... en ce qui concerne les commentaires sur l'utilisation des composants installations autonomes vs les piles _AMPP, je ne sais malheureusement que ce que j'ai écrit ci-dessus car j'ai essayé de mettre en place en utilisant les 3 autonomes le code source des composants et a essayé d'avoir mon gâteau et de le manger à .... tout en n'ayant jamais eu d'expérience avec l'un d'eux avant .... donc je peux dire qu'il y a 2 raisons très convaincantes pour lesquelles les développeurs font et devrait utiliser les piles pour les environnements de développement local:

1) si votre projet utilise cette technologie mais n'étend pas explicitement la fonction dans le cœur d'un composant, alors la plupart veulent simplement être en marche pour pouvoir travailler sur ce sur quoi ils doivent travailler .... et ne pas avoir pour comprendre toutes les configurations nécessaires pour que les 3 composants se parlent de manière transparente. On pourrait facilement lutter pendant des jours pour savoir quelles directives, modules, bibliothèques, arguments de compilation, etc. sont nécessaires. Si vous le savez déjà, tant mieux, mais ne le recommandez pas à quelqu'un qui ne le sait pas à moins que vous ne le fassiez pour lui.

2) les piles regroupées sont autonomes et isolées des fichiers de configuration du système d'exploitation, de sorte que vous pouvez supprimer votre environnement de développement sans conséquences graves .... si vous souhaitez exécuter des scripts qui déploient des fichiers dans le dossier "etc" nécessaire, je ne le fais pas Je vous connais, mais je peux faire une erreur de temps en temps et une erreur sur le dossier ../XAMPP/etc est beaucoup moins douloureuse qu'une erreur sur le dossier / etc.

3) GUI ... GUI ... GUI ... tout le monde n'est pas une ligne de commande Mozart et les piles AMPP fournissent toutes une belle interface graphique pour allumer et éteindre les choses selon le contenu de votre cœur. Si vous voulez une interface graphique, vous vous tournerez vers les applications AMPP Stack ... si vous ne vous en souciez pas, tout dépend du poids ou du stock que vous mettez sur mes points # 1 & # 2

Quoi qu'il en soit, désolé pour la dissertation de "Comment faire bâiller quelqu'un", j'espère que quelqu'un en tirera quelque chose.

Eric Galuskin
la source