Я не могу найти способ быстрого переключения версий PHP. Есть ли что-то эквивалентное рубиновому менеджеру версий для php? Мне нужно переключить между OS 5.3 и 5.2 на OS X.
RVM эквивалент для PHP?
Ответ 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
Посмотрите phpenv
(с php-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. Я активно его использую, и я могу очень рекомендовать его.
Ответ 7
Вот мое решение (pvers). Однофайловый script полностью написан в bash. Если вы ищете облегченный и простой в установке менеджер версий PHP с минимальными зависимостями - попробуйте;)