RVM эквивалент для PHP? - программирование
Подтвердить что ты не робот

RVM эквивалент для PHP?

Я не могу найти способ быстрого переключения версий PHP. Есть ли что-то эквивалентное рубиновому менеджеру версий для php? Мне нужно переключить между OS 5.3 и 5.2 на OS X.

4b9b3361

Ответ 1

Для PHP альтернатив RVM и rbenv у вас phpbrew, phpenv и php-version. Имейте в виду, что я автор php-версии, поэтому, конечно, я предпочитаю это, поскольку я написал его, чтобы поцарапать свой собственный зуд (мне нужно что-то минимальное с завершением команды); Тем не менее, phpenv тоже неплох. Вам также будет полезно использовать.

В OS X вы можете установить менеджер версий PHP с помощью Homebrew.

Сначала добавьте формулы PHP для homebrew:

% brew tap homebrew/homebrew-php

Затем, используя формулы, установленные из homebrew-php, вы можете установить либо с помощью:

% brew install php-version

или

% brew install phpenv

php-version README.md содержит список несколько alternatives, чтобы вы могли посмотреть.

Кстати, я бы подумал, что php-version больше выровнен с chruby тем, что он пытается сделать что-то хорошо.

Ответ 2

Я думаю, phpfarm является самой близкой альтернативой php rvm, он также устанавливает pyrus, который похож на рубиновые камни для мира php.

Ответ 3

Если вы не используете php-cgi и установите разные версии PHP в разных местах

  • Найти другую версию libphp5.so и скопировать в другое место

  • Если вы используете php5.3.11 или php5.4.11

     ln -s php5.3.11 php  || ln -s php5.4.11
    
  • Деполя вашего apache httpd.conf

     LoadModule php5_module        YOUR_PHP_PATH/php/libphp5.so
    
  • перезапустить apache

     sudo apachectl restart
    

Ответ 4

Посмотрите phpenvphp-build). Там даже рецепт доморощенного, если вы brew tap josegonzalez/php. Это на самом деле PHP-версия rbenv not rvm, но я думаю, что это будет проще настроить, чем phpfarm.

Ответ 5

Если вы используете apache, я могу предложить, как я решил это. Установите разные версии PHP в разные местоположения и подготовьте несколько файлов apache php-x.y.z.conf, например

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>

и т.д., поэтому вы можете быстро изменить имя включенного файла .conf и перезапустить сервер. Или, как и я, сделайте несколько виртуальных хостов, имеющих один и тот же корневой каталог, но с разными версиями PHP:

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

Ответ 6

Существует отличная программа для этого, phpbrew. Я активно его использую, и я могу очень рекомендовать его.

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

Ответ 7

Вот мое решение (pvers). Однофайловый script полностью написан в bash. Если вы ищете облегченный и простой в установке менеджер версий PHP с минимальными зависимостями - попробуйте;)