Answers:
在MAMP论坛中找到了快速修复。
基本上,MAMP似乎只允许显示两个版本的PHP。快速修复,重命名您不需要使用的文件夹,对我来说,这意味着在/Applications/MAMP/bin/php/php5.4.10_X文件夹中添加“ X”。现在5.2.17和5.3.20显示在mamp首选项中。
做完了!
编辑-如果您所需的PHP版本不在PHP文件夹中,则可以从http://www.mamp.info/en/downloads/下载所需的版本。
编辑-MAMP似乎不再在下载页面上提供指向其他PHP版本的链接。使用WayBackMachine https://web.archive.org/web/20180131074715/http://www.mamp.info/zh/downloads/
.
在不需要的PHP版本文件夹前添加了一个,我已经准备好了!
/Applications/MAMP/bin/php
怎么办?
如果您需要一次可以在两个以上的版本之间切换,则可以使用以下内容手动更改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文件的底部,您将看到从附加文件夹中加载其他配置的位置。将此添加到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版本并重新启动服务器即可!
http-php.conf
文件。您只需在中的注释行之后添加要使用的PHP版本http.conf
。只需复制并粘贴该行,然后将路径中的版本更改为所需的版本即可。
也许像这样容易?
可以在http://www.mamp.info/zh/downloads/index.html上找到PHP解释器的编译二进制文件。将此下载的文件夹放入您的/ Applications / MAMP / bin / php!目录。关闭并重新打开您的MAMP PRO应用程序。您的新PHP版本现在应该出现在PHP下拉菜单中。MAMP PRO仅支持下载页面中的PHP版本。
如果服务器正在运行,请先停止它。转到“ / Applications / MAMP / bin /”,重命名不需要的PHP版本(MAMP只允许使用2个PHP版本),例如“ _php5.2.17”。现在,MAMP将使用剩下的php版本。转到MAMP管理器,然后进行设置,然后切换到所需的php版本。
我遇到的此解决方案的一个问题是httpd进程(花了我一段时间才能弄清楚xD)。如果您的httpd进程在后台运行,则php开关将无法工作,直到您停止了这些进程(有时MAMP在停止服务器时遇到了一个尴尬的问题,这就是为什么该进程仍然可以运行的原因)。在Mac上启动“活动监视器”(快捷方式:按Command + Space并键入活动...),转到“搜索功能”并键入“ httpd”,然后关闭所有这些进程。现在,您应该可以使用MAMP Manager切换PHP版本了。
MAMP仅在以下文件夹/ Application / MAMP / bin / php中使用PHP的两个最高版本。
我发现最简单的解决方案是将php文件夹版本重命名为:
这样,MAMP将只读取其中两个。做完了!