本文主要介绍如何在 Mac 电脑, 使用 HomeBrew 安装各版本的 PHP。主要解决低版本不好安装,以及多版本使用问题。同样支持 M1 Mac (Apple Silicon)。
现在 PHP 的版本已经到 8.0,但是在各公司的生产环境中,大量使用的仍然是 7.x 版本,甚至 5.6 版本。对后端开发工程师来说,在自己的电脑上开发,最好安装与公司生产环境相同的版本,来保证开发过程中代码的适配性。
安装低版本的 PHP,对于不会编译安装的同学来说,有些困难。甚至对于一些中高级工程师,也并不容易。主要原因在于 PHP 不同版本编译安装依赖的一些底层包的版本问题,以及 Mac OS 本身系统的一些包并不适配。大部分人往往安装 PHP 要耗费一到两个小时时间,甚至多半天。本文主要目的在于又快又好的搞定开发环境,并不讨论原生编译安装,以及怎么样的方式更好的问题。
如果你是"老工程师"
brew tap shivammathur/php
brew search php
brew install shivammathur/php/php@5.6 //可选择其他版本
如果你是"新手"
首先声明,Mac OS 本身是自带了PHP的,PHP 的版本根据Mac OS 的不同而不同。如果自带的够你用了,那么就用自带的吧。仍然建议你安装新的,之后好管理。
第一步,安装 HomeBrew,该工具可以让你以后安装其他软件更快更整洁。网址为:https://brew.sh/index_zh-cn 。可自行搜索安装。也可以使用下面的命令:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
HomeBrew 相当于一个存放技术软件相关的“软件管家”,包含常用技术工具,如Mysql、NodeJS、Redis 等等。建议学习此工具的使用,也可以安装其他软件。有事半功倍的效果。
安装完成后。会显示相关信息。==> Installation successful!
很可能你会在这一步走不下去,因为一些需要science上网的情况。没关系。自行查询一下,或者联系我。如果能全局开着代理安装,那再好不过了。
第二步,搜索可用 PHP 版本。如果有你所需的版本,直接安装即可。
brew search php
如果安装失败了,或者提示带有关键词 icu4c 的错误,那么,先放弃吧,试试下面的。icu4c 错误可以解决,但是非常麻烦。
第三步,如果没有你所需的版本,可添加其他"仓库"。
稍微解释一下,你可以认为是这个“软件管家”有一个主要仓库,这个仓库里面只有最新最常用的 货物。而你想要一些旧的货物,是需要从其他地方调货的。所以需要添加其他分仓库。
添加旧的PHP仓库:
brew tap shivammathur/php
安装完成后,再次搜索
brew search php
可以看到最右侧,有很多版本。
选择你喜欢的版本。
brew install shivammathur/php/php@8.0
安装多版本
只需要选择另一个版本,进行安装即可。比如此时我已经安装了 8.0 我再安装一个 7.3。
brew install shivammathur/php/php@7.3
安装过程是这样的
安装完成后提示:请按照提示添加相关环境变量。类似下述代码。
php@7.1 is keg-only, which means it was not symlinked into /usr/local,
because this is an alternate version of another formula.
If you need to have php@7.1 first in your PATH run:
echo ‘export PATH="/usr/local/opt/php@7.1/bin:$PATH"‘ >> ~/.zshrc
echo ‘export PATH="/usr/local/opt/php@7.1/sbin:$PATH"‘ >> ~/.zshrc
For compilers to find php@7.1 you may need to set:
export LDFLAGS="-L/usr/local/opt/php@7.1/lib"
export CPPFLAGS="-I/usr/local/opt/php@7.1/include"
To have launchd start exolnet/deprecated/php@7.1 now and restart at login:
brew services start exolnet/deprecated/php@7.1
Or, if you don‘t want/need a background service you can just run:
php-fpm
php -v 看看版本吧。如果版本没变,重启下你的terminal。
如何切换版本
brew install brew-php-switcher
安装好后,我现在是 7.1 我要切换到 7.3
brew-php-switcher 7.3
切换完记得按照提示添加相关环境变量。重启terminal。
其他:
phpini 文件在哪里?
php --ini
或者
? php -i | grep ‘php.ini‘
Configuration File (php.ini) Path => /usr/local/etc/php/7.0
Loaded Configuration File => /usr/local/etc/php/7.0/php.ini
怎么重启php?
brew services restart php@7.1 //start stop
报错提示:
解决:按照提示,安装xcode-select 工具。注意,这里不是安装xcode,不用害怕。
打开terminal 执行 xcode-select --install
结束语:在该研究技术的时候研究技术,该追求效率的时候追求效率。
文章结束,仅供参考,欢迎讨论。
程序员阿菜 -- 搞懂技术 | 看懂生活
PHP、Go 后端程序员学习之路。主要分享后端技术,立志于说清楚真实工作中的编程。一起爬上开悟之坡。