如何在MAC OS X 10.7 Lion上安装多个XAMPP版本或多个PHP版本

时间:2012-09-19 18:49:52

标签: php xampp

我需要在需要PHP 5.2的遗留系统上做一些工作

我已经安装了XAMP 1.7.3但这个版本有PHP 5.3。

由于这是我未来几个月可能会做的工作,我在考虑安装运行PHP 5.2的XAMP版本 与此同时,我参与了一些需要我使用PHP 5.3的工作,所以我只能卸载我当前的XAMP版本并安装一个使用PHP 5.2的版本

XAMPP Download Website上很清楚,在安装任何XAMPP版本时,它将删除之前的版本。我做了一些研究,但找不到解决这个问题的方法。

我设法在/ Applications / XAMPP / xamppfiles / bin /下找到phpswitch并使用它的列表操作向我显示我只安装了PHP 5.3.1并且处于活动状态。我试图找出如何使用phpswitch下载/安装/激活PHP 5.2,但没有成功。

所以我正在寻找的是一种安装多个XAMPP或安装PHP 5.2并为XAMPP激活它的方法(通过phpswitch或其他方式)

7 个答案:

答案 0 :(得分:12)

您可以安装XAMPP的并行版本 - 每个主要版本的PHP都有一个版本。只是不要同时运行。

将XAMPP的每个实例安装在自己的文件夹中。

我在名为

的文件夹下执行此操作

XAMPPInstalls/XAMPP182-PHP54 /XAMPP183-PHP55/

在每个XAMPP文件夹中,您将找到一个.exe来启动该特定XAMPP堆栈的控制器。我已经为这些创建了快捷方式,将它们重命名为'XAMPP182-ControlPanel'和'XAMPP183-ControlPanel'并将它们放在我的桌面上。

当我需要在PHP5.4上运行本地站点时,我点击XAMPP182-ControlPanel并启动Apache和MySQL服务器。

当我需要将本地站点切换到PHP5.5时,我单击XAMPP182-ControlPanel并关闭Apache和MySQL服务器,然后单击XAMPP182-ControlPanel并启动该堆栈中的Apache和MySQL服务器。 / p>

这只需几秒钟。

此外,我使用'软链接',以便在一个文件夹中为我的本地网站完成所有配置 - 然后创建一个'联结'(即在Apache配置中为每个XAMPP堆栈复制自身的源文件夹)。

有很多关于这个的文章,由Marco Dings在Joomla中被称为“Practical Development 2: Working Environment”!社区杂志关于如何设置您的工作环境以运行多个本地XAMPP安装,使用“基于名称的托管”的多个本地网站,以及如何将其全部组织起来。

我没有完全使用丁的设置 - 我已经调整以使我的本地网络项目更加有条理和简化 - 但我的设置是基于丁的方法。

注意:文章,在Joomla!社区杂志,并不是特定于Joomla!,因此您可以将此设置用于您正在处理的任何PHP / Apache / MySQL项目。

现在有很多方法可以做到这一点(例如使用Oracle的VM Virtual Box),但除非您需要“完全”复制远程托管环境,否则这可能有点过分。例如,如果您正在运行“专用主机”并希望密切复制专用主机的环境并尽可能地进行设置,那么您将使用VM Virtual Box Set-Up - 这允许您运行多个VM(即不同的设置)然后将确切的设置克隆到您的实时服务器。同样,如果您的大多数项目都要进入“共享托管”环境,那就太过分了,因为您无法控制设置。

多个XAMPP实例的并行安装要简单得多,你可以按照丁的文章进行设置。它应该满足您的要求。

我之前提到过Oracle VM VirtualBox,因为你至少应该知道它是一个选项。

答案 1 :(得分:1)

你总是可以使用VirtualBox(或者类似的)来创建一个带有5.2的实例,然后当你完成旧工作时,只需转储VB实例,不会对当前系统产生任何影响。

答案 2 :(得分:1)

你有几个选择。使用虚拟盒来运行虚拟环境:一个使用PHP 5.2,另一个使用PHP 5.3。或者,如果您对安装PHP感到满意,可以安装所需的各种版本的PHP,并设置指向当时要使用的版本的符号链接。

答案 3 :(得分:0)

我对Apache或PHP一无所知,但我发现MacPorts对于安装多个版本的软件很有帮助,这些软件通常很难安装多个版本,例如python或GCC。

port search php

表明MacPorts可以提供PHP 5.2,5.3和5.4。这样的安装放在/ opt中,因此它们将保留任何其他PHP安装。

答案 4 :(得分:0)

我只是想添加以防你运行任何操作系统(我的是优胜美地)做同样的事情但是在主XAMPP文件夹中的xamppfiles文件夹上工作(因此使用的路径不同),你可以更改配置.ini和可能与文件相关(复杂)或(简单但脏)命名您要使用xamppfiles和其他任何内容的版本,然后为管理器创建2个单独的别名(每个xampp版本一个)。像这样有点令人困惑,但如果有人需要它,我可以一步一步地描述这两种方法。

答案 5 :(得分:0)

以前的答案对我来说效果不好,但有一个rather elegant solution over on the Apache Friends Forum,虽然我花了一些时间才能让事情正常运转。一些亮点:

  • 通过安装 XAMPP 的多个版本,您可以获得各种版本的PHP CGI模块。也就是说,请记住,如果运行多个安装程序,可能需要还原配置文件和数据库,因此请进行相应的备份和计划。
  • 确保允许那些CGI通过在httpd-xampp.conf文件中添加这样的块来完成他们的工作(我最后放了我的):

    <Directory "/Applications/XAMPP/xamppfiles/bin">
        Require all granted
        Options +ExecCGI
    </Directory>
    

    请记住,根据XAMPP使用的Apache版本,your syntax may vary a bit

  • 现在在httpd.conf文件中找到此部分,并确保取消注释相应的Include,如下所示:

    # Virtual hosts
    Include etc/extra/httpd-vhosts.conf
    
  • 您现在可以在httpd-vhosts.conf文件中为要使用的每个PHP版本添加条目,如下所示:

    <VirtualHost test54.yourdomain.com:80>
        ServerName test54.yourdomain.com
        ....
        ScriptAlias /xampp-bin /Applications/XAMPP/xamppfiles/bin
        <FilesMatch "\.php$">
            SetHandler application/x-httpd-php
        </FilesMatch>
        Action application/x-httpd-php /xampp-bin/php-cgi-5.4.31
        ....
    </VirtualHost>
    <VirtualHost test55.yourdomain.com:80>
        ServerName test55.yourdomain.com
        ....
        ScriptAlias /xampp-bin /Applications/XAMPP/xamppfiles/bin
        <FilesMatch "\.php$">
            SetHandler application/x-httpd-php
        </FilesMatch>
        Action application/x-httpd-php /xampp-bin/php-cgi-5.5.35
        ....
    </VirtualHost>
    ....
    

    (在我使用的XAMPP版本中,在bin目录中也恰好有一个名为php-cgi的符号链接,它指向最近安装的CGI,并添加了一个块对此也是如此。)

  • 将相应的条目添加到hosts文件中,如下所示:

    127.0.0.1           test54.yourdomain.com
    127.0.0.1           test55.yourdomain.com
    

应该这样做。我喜欢由此产生的灵活性,以及​​我已经配置的各种版本的PHP在我需要它时可以使用的事实。

答案 6 :(得分:0)

我们可以使用Xampp-VM进行多个xampp安装。我想为旧项目和新项目使用多个php版本,而不会改变或浪费我的配置时间。

所以如果你的Xampp已经安装好了。从这里安装新的Xampp-VM

https://www.apachefriends.org/download.html

这将指导您如何设置Xampp-Vm。

https://www.apachefriends.org/blog/new_xampp_20170628.html