如何在MAMP中添加其他PHP版本

148

我当前使用的MAMP版本只有php 5.2.17和5.4.4。 我需要的是5.3.X版本。 是否有一种方法可以添加其他版本,以便在MAMP界面的php首选项中进行选择? 这是针对免费版的MAMP,而不是MAMP PRO。

谢谢


64
好的,您想知道如何在MAMP中添加额外版本的PHP。 - frumbert
10个回答

314
发现了MAMP论坛中的一个快速解决方法。
基本上看起来MAMP只允许显示2个PHP版本。 快速修复,重命名您不想使用的文件夹,对我来说这意味着在我的/Applications/MAMP/bin/php/php5.4.10_X文件夹中添加“X”。 现在5.2.17和5.3.20出现在mamp prefs中。
完成!
编辑-如果您需要的PHP版本不在PHP文件夹中,则可以从http://www.mamp.info/en/downloads/下载所需的版本。
编辑-MAMP似乎不再在下载页面提供替代PHP版本的链接。 使用WayBackMachine https://web.archive.org/web/20180131074715/http://www.mamp.info/en/downloads/

12
谢谢!我只是在不需要的PHP版本文件夹前面添加了一个 .,然后一切都准备就绪了! - kmgdev
2
同意...作为原帖发布者,我可以这样做:D - LiveSource
3
如果您想添加一个在"/Applications/MAMP/bin/php"中找不到的PHP版本,该怎么办? - bryanbraun
5
你可以从http://www.mamp.info/en/downloads/下载你需要的版本。 - LiveSource
4
给出最新的 PHP 链接,因为该链接已经失效(使用 WayBackMachine 找到)https://downloads.mamp.info/MAMP-PRO/releases/4.5/php7.2.2.zip - Rory
显示剩余13条评论

38

如果你需要在多个版本之间进行切换,你可以使用以下方法手动更改PHP的版本。

当MAMP重新启动时,它会根据偏好设置自动重写/ Applications / MAMP / conf / apache / httpd.conf文件中的以下行。你可以将该行注释掉,并在文件末尾添加第二行:

# Comment this out just under all the modules loaded
# LoadModule php5_module        /Applications/MAMP/bin/php/php5.x.x/modules/libphp5.so

httpd.conf 文件的底部,您会看到加载额外配置信息的 extra 文件夹。请将以下内容添加到 httpd.conf 文件的底部。

# PHP Version Change
Include /Applications/MAMP/conf/apache/extra/httpd-php.conf

然后在这里创建一个新文件:/Applications/MAMP/conf/apache/extra/httpd-php.conf

# Uncomment the version of PHP you want to run with MAMP
# LoadModule php5_module /Applications/MAMP/bin/php/php5.2.17/modules/libphp5.so
# LoadModule php5_module /Applications/MAMP/bin/php/php5.3.27/modules/libphp5.so
# LoadModule php5_module /Applications/MAMP/bin/php/php5.4.19/modules/libphp5.so
LoadModule php5_module /Applications/MAMP/bin/php/php5.5.3/modules/libphp5.so

当你完成这个设置后,只需取消注释你想要使用的PHP版本并重新启动服务器!


1
尝试在MAMP 1.9.6上操作,但现在Apache无法启动,我仍然只能看到5.2.17和5.3.5版本。 - Bisonbleu
我无法让另一个PHP版本正常工作。每次尝试更改它时,我的Apache都无法再次启动。我在设置中看到了其他PHP版本,但它只启动MySQL,Apache仍然是红色的。 - Snowball
您不需要创建额外的 http-php.conf 文件。您可以在 http.conf 中的注释行后面添加要使用的PHP版本。只需复制并粘贴该行并更改路径中的版本为您想要的版本即可。 - Will
还有,如果你想要使用Nginx呢? - Andy
对我来说可以。我必须加载一个旧的WordPress安装程序,需要PHP5才能运行。我的当前MAMP开箱即用免费版本在MAMP /首选项/ PHP /中提供了两个PHP7版本。执行上述步骤并重新启动运行PHP5的服务器(仍包含在MAMP bin中),然后WordPress安装程序就可以正常工作了。完成所需操作后再恢复原状。 - Kalnode

13

我正在使用 Mac 上的 MAMP 免费版(2021 年 4 月 27 日,MAMP 版本 6.3),@LiveSource 的答案帮助了我找到解决方案。

我的 MAMP 下拉菜单只显示了两个选项,在 /Applications/MAMP/bin/php 目录下共有 7 个 PHP 版本选项。因此,MAMP 只会显示最新的两个版本。

为了解决这个问题,我更改了所有我不想使用的 PHP 版本文件夹的名称。 这样只有 2 个文件夹与 MAMP 兼容,我的选择的版本将显示在下拉菜单中。

我在结尾加了一个 _X,但你可以添加任何东西。

更改后,请关闭 MAMP 并重新打开它。

请查看解决方案的屏幕截图。

enter image description here

enter image description here


Rafael Perozin - 我们如何黑进MAMP以在mamp面板中显示超过2个PHP版本,并根据我们项目的要求使用其中一个?重命名php文件夹可以解决问题,但是这不是一个好的解决方案,因为它有2个PHP版本的限制。谢谢。 - Kamlesh
我不确定你能不能做到。 - Rafael Perozin

11

MAMP只使用下面目录中PHP版本号最高的两个版本:/Application/MAMP/bin/php

如您所见,目前最高的版本是7.0.10和5.6.25 MAMP php Versions 7.0.10 and 5.6.25

现在移除了7.0.10版本,目前最高的两个版本是5.6.25和5.5.38,如偏好设置所示 php versions 5.6.25 and 5.5.38


2
将php文件夹从php7.0.33重命名为_php7.0.33,然后重新启动MAMP即可。无需删除该目录。 - caramba

9

也许可以这样简单处理?

PHP解释器的编译二进制文件可在http://www.mamp.info/en/ downloads/index.html找到。将此下载文件夹放入您的/Applications/MAMP/bin/php!目录中。关闭并重新打开您的MAMP PRO应用程序。您的新PHP版本现在应该出现在PHP下拉菜单中。MAMP PRO仅支持来自下载页面的PHP版本。


如何免费使用MAMP版本? - Volatil3
这是针对免费版Mamp的,但不知何故对我不起作用 :( - Naveed Abbas

9

如果服务器正在运行,请先停止服务器。前往“/Applications/MAMP/bin/”,将不需要的PHP版本重命名(MAMP只允许使用2个PHP版本),例如“_php5.2.17”。现在,MAMP将使用剩下的PHP版本。前往MAMP管理器,然后设置,切换到所需的PHP版本。

我遇到这种解决方案的一个问题是httpd进程(花了一段时间才弄清楚xD)。如果您有httpd进程在后台运行,则PHP切换将无法正常工作,直到您停止这些进程(有时MAMP停止服务器会出现奇怪的问题,因此该进程可能仍然存在)。在Mac上启动活动监视器(快捷键:按Command+Space并输入activity...),转到搜索功能并键入“httpd”,关闭所有这些进程。现在,您应该能够通过MAMP管理器切换PHP版本。


MAMP显示在“PHP版本”选项卡下的5.2.13版本不在bin文件夹中? - bart
这确实是最简单的方法。对话框中显示了bin文件夹中的两个最新版本。 - Scott Eisenberg
这是最适用的答案,因为它也适用于MAMP最新的4.1.1版本。 - Andy
如何破解 MAMP 以显示超过2个可选的PHP版本? - Kamlesh

6

可以直接从 APP 安装其他版本的 PHP(至少需要使用 MAMP PRO v5)。

以下是全部步骤:

MAMP PRO --> 首选项 --> 点击 [立即检查] 检查更新(即使已启用自动更新!)--> 点击 [显示 PHP 版本] --> 根据需要安装!

逐步截图演示如下:

MAMP PRO --> 首选项

输入图像描述

输入图像描述

输入图像描述


我有MAMP5.3。如何安装PHP > 7.3? - Volatil3
感谢您发布这篇使用MAMP Pro获取php版本的更加优雅的方法。这对我很有用(在MAMP Pro 6.6.2中使用)。 - CGN
如果您有MAMP Pro,您可以直接转到仪表板中的PHP并点击小加号按钮。它将打开您所指的屏幕。https://documentation.mamp.info/en/MAMP-PRO-Mac/Languages/PHP/ - Shawn Hayes

4

我发现最简单的解决方法就是将php文件夹版本重命名,具体操作如下:

  1. 关闭服务器。
  2. 将包含你不需要的php版本的文件夹 /Applications/MAMP/bin/php. php7.3.9 重命名为 _php7.3.9

这样MAMP只会读取其中两个文件夹了。 完成!


免费的MAMP只允许在下拉菜单中选择2个PHP版本中的一个。谢谢Josep。 - Kamlesh
如果我们想使用/启用较低版本的php,则首先必须停止服务器,然后重命名一个已激活/启用的较高版本的php文件夹。关闭MAMP应用程序并重新启动它。现在您将看到设置较低版本的php以在下拉菜单中使用。很高兴能帮助。 - Kamlesh

1
老实说,使用Docker相比MAMP和PHP版本问题让我头疼不已。使用这个工具可以轻松搭建环境。

https://github.com/harshalone/docker-compose-lamp

git clone https://github.com/harshalone/docker-compose-lamp.git
cd docker-compose-lamp/
cp sample.env .env
// modify sample.env as needed
docker-compose up -d
// visit localhost

在“bin”文件夹中,您将看到您的PHP版本。

enter image description here

在你的 .env 文件中更改你想要使用的版本 PHPVERSION=php7.4。
你可以观看这个教程。希望我早点开始使用 Docker,它能为你节省大量问题和时间。

https://www.youtube.com/watch?v=MTeY3npy1gU


-3

/Applications/MAMP/bin/mamp/mamp.conf.json

该文件保存了MAMP的配置信息,寻找下列部分:

{
  "name": "PHP",
  "version": "5.6.28, 7.0.20"
}

这个列表列出了在GUI中显示的PHP版本,显然你需要先从MAMP网站下载PHP版本并将其放置在/Applications/MAMP/bin/php中才能使其正常工作。


实际上需要将bin/php/phpxx版本文件夹重命名,否则它将继续加载更高的版本。 - leopinzon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接