62

我似乎找不到快速切换 PHP 版本的方法。是否有与 php 的 ruby​​ 版本管理器等效的东西?我需要在 OS X 上在 5.3 和 5.2 之间切换。

4

7 回答 7

46

对于 RVM 和rbenv的 PHP 替代品,您有phpbrewphpenvphp-version。请注意,我是 php-version 的作者,所以我当然更喜欢它,因为我写它是为了解决我自己的痒(我想要一些最小的命令完成);然而,phpenv 也相当不错。你会很好地使用任何一个。

在 OS X 上,您可以使用 Homebrew 安装 PHP 版本管理器。

首先,为 homebrew 添加 PHP 公式:

% brew tap homebrew/homebrew-php

然后,使用从homebrew-php安装的公式,您可以安装:

% brew install php-version

或者

% brew install phpenv

php-version README.md列出了更多替代方案,因此您可能想看看。

顺便说一句,我会考虑php-versionchruby更一致,因为它试图做好一件事。

于 2012-05-30T18:01:12.403 回答
10

我认为phpfarm是最接近rvm的 php 替代品,它还安装了pyrus,这就像 php 世界的 ruby​​ gems。

于 2011-07-14T12:41:09.207 回答
2

如果您不使用 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. 重启阿帕奇

     sudo apachectl restart
    
于 2013-02-20T09:36:14.770 回答
1

看看phpenv(和php-build)。如果你有一个自制的食谱brew tap josegonzalez/phprbenv它实际上是not的 PHP 版本,rvm但我认为它的设置会比phpfarm.

于 2012-04-17T11:00:44.857 回答
0

有一个很棒的程序可以做到这一点,phpbrew。我积极使用它,我强烈推荐它。

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

于 2014-10-31T09:21:11.370 回答
0

如果您正在运行 apache,我可以建议我解决此问题的方法。将不同版本的 PHP 安装到不同的位置,并准备一些 apache php-xyzconf 文件,例如

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>
于 2011-03-14T13:44:26.570 回答
0

这是我的解决方案(pvers)。一个完全用 bash 编写的单文件脚本。如果您正在寻找一个精简且易于安装且依赖最少的 php 版本管理器 - 试一试;)

于 2015-05-16T16:23:46.177 回答