草庐IT

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

coder 2023-12-31 原文

我需要在需要 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 或其他方式)

最佳答案

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

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

我在名为

的文件夹下执行此操作

XAMPPInstalls/XAMPP182-PHP54 /XAMPP183-PHP55/

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

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

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

这只需要几秒钟。

此外,我使用“软链接(soft link)”,这样我就可以在一个文件夹中为我的本地网站进行所有配置 - 然后创建一个“连接”(即一个源文件夹,它在每个 XAMPP 堆栈的 Apache 配置中复制自身).

关于这方面有一篇非常好的文章叫做'Practical Development 2: Working Environment ' 由 Marco Dings 在 Joomla!社区杂志介绍如何设置您的工作环境以运行多个本地 XAMPP 安装、使用“基于名称的托管”的多个本地网站,以及如何保持一切井井有条。

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

注意:文章在 Joomla! Community Magazine,并非特定于 Joomla!,因此您可以将此设置用于您正在处理的任何 PHP/Apache/MySQL 项目。

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

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

我提到了 Oracle VM VirtualBox,因为您至少应该知道它是一个选项。

关于php - 如何在 MAC OS X 10.7 Lion 上安装多个 XAMPP 版本或多个 PHP 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12501003/

有关php - 如何在 MAC OS X 10.7 Lion 上安装多个 XAMPP 版本或多个 PHP 版本的更多相关文章

  1. ruby - 如何在 Ruby 中顺序创建 PI - 2

    出于纯粹的兴趣,我很好奇如何按顺序创建PI,而不是在过程结果之后生成数字,而是让数字在过程本身生成时显示。如果是这种情况,那么数字可以自行产生,我可以对以前看到的数字实现垃圾收集,从而创建一个无限系列。结果只是在Pi系列之后每秒生成一个数字。这是我通过互联网筛选的结果:这是流行的计算机友好算法,类机器算法:defarccot(x,unity)xpow=unity/xn=1sign=1sum=0loopdoterm=xpow/nbreakifterm==0sum+=sign*(xpow/n)xpow/=x*xn+=2sign=-signendsumenddefcalc_pi(digits

  2. ruby-on-rails - Rails 3 中的多个路由文件 - 2

    Rails2.3可以选择随时使用RouteSet#add_configuration_file添加更多路由。是否可以在Rails3项目中做同样的事情? 最佳答案 在config/application.rb中:config.paths.config.routes在Rails3.2(也可能是Rails3.1)中,使用:config.paths["config/routes"] 关于ruby-on-rails-Rails3中的多个路由文件,我们在StackOverflow上找到一个类似的问题

  3. ruby-on-rails - 在 Ruby 中循环遍历多个数组 - 2

    我有多个ActiveRecord子类Item的实例数组,我需要根据最早的事件循环打印。在这种情况下,我需要打印付款和维护日期,如下所示:ItemAmaintenancerequiredin5daysItemBpaymentrequiredin6daysItemApaymentrequiredin7daysItemBmaintenancerequiredin8days我目前有两个查询,用于查找maintenance和payment项目(非排他性查询),并输出如下内容:paymentrequiredin...maintenancerequiredin...有什么方法可以改善上述(丑陋的)代

  4. ruby - 如何在 buildr 项目中使用 Ruby 代码? - 2

    如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby​​

  5. ruby - 什么是填充的 Base64 编码字符串以及如何在 ruby​​ 中生成它们? - 2

    我正在使用的第三方API的文档状态:"[O]urAPIonlyacceptspaddedBase64encodedstrings."什么是“填充的Base64编码字符串”以及如何在Ruby中生成它们。下面的代码是我第一次尝试创建转换为Base64的JSON格式数据。xa=Base64.encode64(a.to_json) 最佳答案 他们说的padding其实就是Base64本身的一部分。它是末尾的“=”和“==”。Base64将3个字节的数据包编码为4个编码字符。所以如果你的输入数据有长度n和n%3=1=>"=="末尾用于填充n%

  6. ruby-on-rails - Rails - 一个 View 中的多个模型 - 2

    我需要从一个View访问多个模型。以前,我的links_controller仅用于提供以不同方式排序的链接资源。现在我想包括一个部分(我假设)显示按分数排序的顶级用户(@users=User.all.sort_by(&:score))我知道我可以将此代码插入每个链接操作并从View访问它,但这似乎不是“ruby方式”,我将需要在不久的将来访问更多模型。这可能会变得很脏,是否有针对这种情况的任何技术?注意事项:我认为我的应用程序正朝着单一格式和动态页面内容的方向发展,本质上是一个典型的网络应用程序。我知道before_filter但考虑到我希望应用程序进入的方向,这似乎很麻烦。最终从任何

  7. ruby-on-rails - 如何在 ruby​​ 中使用两个参数异步运行 exe? - 2

    exe应该在我打开页面时运行。异步进程需要运行。有什么方法可以在ruby​​中使用两个参数异步运行exe吗?我已经尝试过ruby​​命令-system()、exec()但它正在等待过程完成。我需要用参数启动exe,无需等待进程完成是否有任何ruby​​gems会支持我的问题? 最佳答案 您可以使用Process.spawn和Process.wait2:pid=Process.spawn'your.exe','--option'#Later...pid,status=Process.wait2pid您的程序将作为解释器的子进程执行。除

  8. ruby - 如何在续集中重新加载表模式? - 2

    鉴于我有以下迁移:Sequel.migrationdoupdoalter_table:usersdoadd_column:is_admin,:default=>falseend#SequelrunsaDESCRIBEtablestatement,whenthemodelisloaded.#Atthispoint,itdoesnotknowthatusershaveais_adminflag.#Soitfails.@user=User.find(:email=>"admin@fancy-startup.example")@user.is_admin=true@user.save!ende

  9. ruby - 如何在 Ruby 中拆分参数字符串 Bash 样式? - 2

    我正在为一个项目制作一个简单的shell,我希望像在Bash中一样解析参数字符串。foobar"helloworld"fooz应该变成:["foo","bar","helloworld","fooz"]等等。到目前为止,我一直在使用CSV::parse_line,将列分隔符设置为""和.compact输出。问题是我现在必须选择是要支持单引号还是双引号。CSV不支持超过一个分隔符。Python有一个名为shlex的模块:>>>shlex.split("Test'helloworld'foo")['Test','helloworld','foo']>>>shlex.split('Test"

  10. ruby - 通过 RVM (OSX Mountain Lion) 安装 Ruby 2.0.0-p247 时遇到问题 - 2

    我的最终目标是安装当前版本的RubyonRails。我在OSXMountainLion上运行。到目前为止,这是我的过程:已安装的RVM$\curl-Lhttps://get.rvm.io|bash-sstable检查已知(我假设已批准)安装$rvmlistknown我看到当前的稳定版本可用[ruby-]2.0.0[-p247]输入命令安装$rvminstall2.0.0-p247注意:我也试过这些安装命令$rvminstallruby-2.0.0-p247$rvminstallruby=2.0.0-p247我很快就无处可去了。结果:$rvminstall2.0.0-p247Search

随机推荐