如何在Mac High Sierra中将PHP7降级至PHP5.6(适配Zend文件)
在Mac High Sierra上将PHP7降级到PHP5.6的实操步骤
Hey Robin, 我之前帮朋友处理过几乎一模一样的问题——Mac High Sierra默认的PHP7跑不了老Zend项目,降级到5.6就搞定了。下面是亲测有效的步骤,一步步来就行:
1. 先确认当前PHP环境
打开终端,先看看当前用的PHP版本:
php -v
记下来当前的版本,方便后续确认切换成功。
2. 更新Homebrew并添加旧版本PHP的源
因为官方Homebrew已经移除了PHP5.6的包,所以需要添加第三方维护的源:
brew update brew tap exolnet/homebrew-deprecated
3. 安装PHP5.6
执行安装命令,过程可能需要等一会儿:
brew install exolnet/deprecated/php56
4. 切换系统默认PHP版本到5.6
这一步是关键,得把PHP5.6的路径加到环境变量最前面,让系统优先调用它:
如果用的是默认的Bash终端,编辑
~/.bash_profile文件:open -e ~/.bash_profile在文件末尾添加两行:
export PATH="/usr/local/opt/php56/bin:$PATH" export PATH="/usr/local/opt/php56/sbin:$PATH"保存后刷新配置:
source ~/.bash_profile如果用的是Zsh终端(现在很多Mac用户用这个),编辑
~/.zshrc文件:open -e ~/.zshrc同样添加上面两行路径,然后刷新:
source ~/.zshrc
5. 验证切换结果
再跑一遍版本命令,确认已经切换到5.6:
php -v
如果显示PHP 5.6.x就说明成功了。
6. 适配Web服务器(如果用到Apache/Nginx)
如果你用Apache:
- 打开Apache的配置文件:
sudo open -e /etc/apache2/httpd.conf - 找到之前加载PHP7的那一行(类似
LoadModule php7_module ...),在前面加#注释掉。 - 添加PHP5.6的模块加载行:
LoadModule php5_module /usr/local/opt/php56/lib/httpd/modules/libphp5.so - 重启Apache生效:
sudo apachectl restart
如果你用Nginx:
- 先停止之前的PHP7-FPM服务(如果在运行):
brew services stop php - 启动PHP5.6的FPM服务:
brew services start php56 - 检查Nginx配置里的FastCGI路径,确保指向PHP5.6的FPM端口(默认是9000,一般不用改),然后重启Nginx:
sudo nginx -s reload
最后,把你的Zend文件放到服务器目录里测试一下,应该就能正常运行了。
内容的提问来源于stack exchange,提问作者Robin
相关产品推荐
相关产品推荐

