web-dev-qa-db-fra.com

Equivalent RVM pour PHP?

Je n'arrive pas à trouver un moyen de changer rapidement de version de PHP. Existe-t-il un équivalent du gestionnaire de versions Ruby pour php? Je dois basculer entre 5.3 et 5.2 sous OS X.

49
johmas

Pour PHP alternatives à RVM et rbenv , vous avez phpbrew , phpenv et php-version . S'il vous plaît soyez conscient que je suis l'auteur de php-version donc bien sûr, je le préfère comme je l'ai écrit pour me gratter la démangeaison (je voulais quelque chose de minimal avec la complétion de commande); Cependant, phpenv est également très bon. Vous feriez bien d'utiliser soit.

Sous OS X, vous pouvez installer un gestionnaire de versions PHP à l'aide de Homebrew.

Commencez par ajouter les formules PHP pour l'homebrew:

% brew tap homebrew/homebrew-php

Ensuite, en utilisant les formules installées à partir de homebrew-php , vous pouvez installer soit avec:

% brew install php-version

ou

% brew install phpenv

La version php-versionREADME.md répertorie quelques autres alternatives afin que vous souhaitiez peut-être jeter un coup d'œil.

En passant, je considérerais que php-version serait plus aligné sur chruby dans le sens où il essaie de faire une chose bien.

36
Wil Moore III

Je pense que phpfarm est l’alternative php la plus proche de rvm , il installe également pyrus qui est comme les gemmes Ruby pour le monde php.

9
wik

Si vous n'utilisez pas php-cgi et installez différentes versions de PHP dans différents emplacements

  1. Trouvez une version différente de libphp5.so et copiez-la dans un autre emplacement

  2. Si vous utilisez php5.3.11 ou php5.4.11

     ln -s php5.3.11 php  || ln -s php5.4.11
    
  3. Depoly votre httpd.conf Apache

     LoadModule php5_module        YOUR_PHP_PATH/php/libphp5.so
    
  4. redémarrer Apache

     Sudo apachectl restart
    
2
cloudsben

Regardez phpenv (avec php-build ). Il y a même une recette homebrew si vous brew tap josegonzalez/php. C'est en fait une version PHP de rbenv pas rvm mais je pense que ce sera plus simple à configurer que phpfarm.

1
George

Il existe un excellent programme pour cela, phpbrew. Je l'utilise activement et je peux le recommander fortement.

https://github.com/phpbrew/phpbrew/wiki/Cookbook

0
Lloyd Moore

Voici ma solution ( pvers ). Un script d'un fichier écrit complètement en bash. Si vous recherchez un gestionnaire de version PHP léger et facile à installer avec un minimum de dépendances, essayez-le;)

0
zinovyev

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 dans différents emplacements et préparez quelques fichiers Apache php-x.y.z.conf tels que

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 moi, créez plusieurs hôtes virtuels avec la même racine de document, mais avec des versions différentes de PHP inclus:

<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>
0
Slava