如何在 MAC OS X 10.7 Lion 上安装多个 XAMPP 版本或多个 PHP 版本
Posted
技术标签:
【中文标题】如何在 MAC OS X 10.7 Lion 上安装多个 XAMPP 版本或多个 PHP 版本【英文标题】:How to install multiple XAMPP versions OR Multiple PHP versions on MAC OS X 10.7 Lion 【发布时间】:2012-09-12 03:12:03 【问题描述】:我需要在需要 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 或其他方式)
【问题讨论】:
PHP 5.2 无能为力,而 5.3 则不能,所以只需使用 5.3 并在编写 PHP 5.2 代码时记住这些版本之间的差异。 【参考方案1】:我对 Apache 或 PHP 一无所知,但我发现 MacPorts 有助于安装通常难以安装多个版本的软件的多个版本,例如 python 或 GCC。
port search php
表明 MacPorts 可以提供 PHP 5.2、5.3 和 5.4。此类安装被放入 /opt,因此它们将不理会任何其他 PHP 安装。
【讨论】:
【参考方案2】:您总是可以使用 VirtualBox(或类似的)创建一个带有 5.2 的实例,然后当您完成旧工作时,只需转储 VB 实例,而不会对您当前的系统产生任何不良影响。
【讨论】:
【参考方案3】:您有几个选择。要么使用虚拟盒来运行虚拟环境:一个使用 PHP 5.2,另一个使用 PHP 5.3。或者,如果您对安装 PHP 感到满意,您可以安装所需的各种 PHP 版本,并设置一个指向您当时要使用的版本的符号链接。
【讨论】:
【参考方案4】:您可以安装 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 服务器。
这只需几秒钟。
另外,我使用“软链接”,以便在一个文件夹中为本地网站进行所有配置 - 然后创建一个“连接”(即,在每个 XAMPP 堆栈的 Apache 配置中复制自身的源文件夹)。
Marco Dings 在 Joomla 中有一篇非常好的文章,名为“Practical Development 2: Working Environment”!社区杂志,介绍如何设置工作环境以运行多个本地 XAMPP 安装、使用“基于名称的托管”的多个本地网站,以及如何保持一切井井有条。
我没有完全使用 Ding 的设置 - 我已经进行了调整以使我的本地 Web 项目更有条理和精简 - 但我的设置基于 Ding 的方法。
注意:文章在 Joomla! Community Magazine 并非专门针对 Joomla!,因此您可以将此设置用于您正在从事的任何 PHP/Apache/MySQL 项目。
现在有很多方法可以做到这一点(例如,使用 Oracle 的 VM Virtual Box),但除非您需要“完全”复制远程托管环境,否则这可能有点过头了。例如,如果您正在运行“专用主机”并希望密切复制专用主机的环境并尽可能接近地进行设置,那么您将使用 VM Virtual Box Set-Up - 这允许您运行多个 VM(即不同的设置),然后将确切的设置克隆到您的实时服务器。同样,如果您的大多数项目都将使用“共享托管”环境,那么您对设置没有太多控制权。
XAMPP 多个实例的并行安装要简单得多,您可以按照 Ding 的文章进行设置。它应该满足您的要求。
我提到了 Oracle VM VirtualBox,因为您至少应该知道它是一种选择。
【讨论】:
我尝试卸载旧版本和 XAMPP,然后安装最新版本。我还尝试在旧版本的 XAMPP 中使用 PHP7 建立一个辅助文件夹。我希望我以前能读过@NivF007 的答案,它可以为我节省一些时间。 请注意,在 Mac 上,控制面板在 XAMPP 1.7.3 中称为 XAMPP Control.app(它不是 .exe,我想它是特定于 Windows 版本的)。在以后的版本中,它被称为 manager-osx.app。但一般原则保持不变。 我也在尝试安装两个 XAMPP 5.6 和 7.2 但我没有设置路径的选项。两者都安装在“Application/Xampp”文件夹中。我该怎么办?【参考方案5】:我只是想补充一下,以防你运行任何操作系统(我的是 Yosemite)做同样的事情,但在 XAMPP 主文件夹内的 xamppfiles 文件夹上工作(所以使用的路径不同),你可以同时更改配置.ini 和可能的文件相关(复杂)或(简单但脏)命名您要使用 xamppfiles 的版本和其他任何名称,然后为管理器创建 2 个单独的别名以启动(每个 xampp 版本一个)。像这样有点令人困惑,但如果有人需要,我可以逐步描述这两种方法。
【讨论】:
【参考方案6】:以前的答案对我来说效果不佳,但是有一个rather elegant solution over on the Apache Friends Forum,尽管我花了一点时间才让事情正常工作。一些亮点:
通过安装多个版本的XAMPP,您可以获得各种版本的PHP CGI 模块。也就是说,请记住,如果您运行多个安装程序,您的配置文件和数据库可能需要恢复,因此请进行相应的备份和计划。通过在您的 httpd-xampp.conf
文件中添加类似这样的块来确保允许这些 CGI 做他们的事情(我把我的放在最后):
<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 版本在我需要时可用。
【讨论】:
【参考方案7】:我们可以使用 Xampp-VM 进行多个 xampp 安装。我想为旧项目和新项目使用多个 php 版本,而无需更改或浪费我的配置时间。
所以如果您的 Xampp 已经安装。从这里安装新的 Xampp-VM
https://www.apachefriends.org/download.html
这将指导您如何设置 Xampp-Vm。
https://www.apachefriends.org/blog/new_xampp_20170628.html
【讨论】:
以上是关于如何在 MAC OS X 10.7 Lion 上安装多个 XAMPP 版本或多个 PHP 版本的主要内容,如果未能解决你的问题,请参考以下文章
如何让 ibm_db 或 PyDB2 python 模块在 Mac OS X 10.7 Lion 中与 DB2 一起使用?
sh Mac OS X 10.7 / 10.8 / 10.9(Lion / Mountain Lion / Mavericks)Bootstrapping
Xcode:Instruments 4.0 需要 Mac OS X 10.7 Lion?
在 Xcode 4 中使用 SVN 和 Mac OS X Lion (10.7)
在 Mac OS 10.6 (Snow Leopard)、10.7 (Lion)、10.8 (Mountain Lion) 上激活 PHP 和 MySQL 的最简单方法?