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

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

51 голосов
/ 01 сентября 2010

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

Ответы [ 7 ]

37 голосов
/ 30 мая 2012

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

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

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

% brew tap homebrew/homebrew-php

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

% brew install php-version

или

% brew install phpenv

. php-версия README.md перечисляет еще несколько альтернатив , так что вы можете захотеть взглянуть.

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

9 голосов
/ 14 июля 2011

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

2 голосов
/ 20 февраля 2013

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

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

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

     ln -s php5.3.11 php  || ln -s php5.4.11
    
  3. Запустите ваш apache httpd.conf

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

     sudo apachectl restart
    
1 голос
/ 17 апреля 2012

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

0 голосов
/ 16 мая 2015

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

0 голосов
/ 31 октября 2014

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

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

0 голосов
/ 14 марта 2011

если вы используете 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>
...