Je n'arrive pas à trouver un moyen de changer rapidement de version de PHP. Y at-il quelque chose d’équivalent à Ruby Version Manager pour PHP? Je dois basculer entre 5.3 et 5.2 sous OS X.
Réponses
Trop de publicités?Pour PHP solutions de rechange à RVM et rbenv, vous avez phpbrew, phpenv et php-version. S'il vous plaît être conscient que je suis l'auteur de php-version alors bien sûr, je la préfère comme je l'ai écrit à zéro mon propre démangeaisons (je voulais quelque chose avec un minimum de commande de l'achèvement des travaux); cependant, phpenv est très bien ainsi. Vous feriez bien de les utiliser.
Si vous utilisez homebrew-php , vous pouvez installer avec:
% brew install php-version
ou
% brew install phpenv
Le php-version README.md listes un peu plus d' alternatives de sorte que vous pouvez avoir un coup d'oeil.
BTW, je considère php-version
pour être plus en adéquation avec les chruby en ce qu'il essaie de faire une chose bien.
Si vous n'utilisez pas php-cgi et installez différentes versions de PHP dans différents endroits
Trouvez une version différente de libphp5.so et copiez-la dans un autre emplacement
-
Si vous utilisez php5.3.11 ou php5.4.11
ln -s php5.3.11 php || ln -s php5.4.11
-
Depoly votre apache httpd.conf
LoadModule php5_module YOUR_PHP_PATH/php/libphp5.so
-
redémarrer apache
sudo apachectl restart
Si vous utilisez Apache, je peux suggérer la façon dont j'ai résolu ce problème. Installez différentes versions de PHP à différents endroits et préparez quelques fichiers apache php-xyzconf comme
ScriptAlias /php/ "path/to/php-5.2.10/"
AddType application/x-httpd-php .php
AddType application/x-httpd-php .phtml
Action application/x-httpd-php "/php/php-cgi"
<Directory "/php/">
Order allow,deny
Allow from all
</Directory>
,
ScriptAlias /php/ "path/to/php-5.3.0/"
AddType application/x-httpd-php .php
AddType application/x-httpd-php .phtml
Action application/x-httpd-php "/php/php-cgi"
<Directory "/php/">
Order allow,deny
Allow from all
</Directory>
et ainsi de suite afin que vous puissiez rapidement changer le nom du fichier .conf inclus et redémarrer le serveur. Ou, comme je l’ai fait, faire en sorte que plusieurs hôtes virtuels aient la même racine de document, mais avec différentes versions de PHP incluses:
<VirtualHost *:80>
DocumentRoot "C:/www/localhost"
ServerName local.php-5.2.10
Include conf/php-5.2.10.conf
<Directory "C:/www/localhost">
Allow from All
</Directory>
</VirtualHost>