Mac 系统安装多版本 PHP,低版本 PHP

本文主要介绍如何在 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 系统安装多版本 PHP,低版本 PHP

 

如果你是"新手"

首先声明,Mac OS 本身是自带了PHP的,PHP 的版本根据Mac OS 的不同而不同。如果自带的够你用了,那么就用自带的吧。仍然建议你安装新的,之后好管理。

第一步,安装 HomeBrew,该工具可以让你以后安装其他软件更快更整洁。网址为: 。可自行搜索安装。也可以使用下面的命令:

/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

 

Mac 系统安装多版本 PHP,低版本 PHP

 

如果安装失败了,或者提示带有关键词 icu4c 的错误,那么,先放弃吧,试试下面的。icu4c 错误可以解决,但是非常麻烦。

第三步,如果没有你所需的版本,可添加其他"仓库"。

稍微解释一下,你可以认为是这个“软件管家”有一个主要仓库,这个仓库里面只有最新最常用的 货物。而你想要一些旧的货物,是需要从其他地方调货的。所以需要添加其他分仓库。

添加旧的PHP仓库:

brew tap shivammathur/php

安装完成后,再次搜索

brew search php

 

Mac 系统安装多版本 PHP,低版本 PHP

 

可以看到最右侧,有很多版本。

选择你喜欢的版本。

brew install shivammathur/php/php@8.0

安装多版本

只需要选择另一个版本,进行安装即可。比如此时我已经安装了 8.0 我再安装一个 7.3。

brew install shivammathur/php/php@7.3

安装过程是这样的

 

Mac 系统安装多版本 PHP,低版本 PHP

 

安装完成后提示:请按照提示添加相关环境变量。类似下述代码。

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

 

Mac 系统安装多版本 PHP,低版本 PHP

 

切换完记得按照提示添加相关环境变量。重启terminal。

 

Mac 系统安装多版本 PHP,低版本 PHP

 

其他:

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

报错提示:

 

Mac 系统安装多版本 PHP,低版本 PHP

 

解决:按照提示,安装xcode-select 工具。注意,这里不是安装xcode,不用害怕。

打开terminal 执行 xcode-select --install

结束语:在该研究技术的时候研究技术,该追求效率的时候追求效率。

文章结束,仅供参考,欢迎讨论。

Mac 系统安装多版本 PHP,低版本 PHP

程序员阿菜 -- 搞懂技术 | 看懂生活

PHP、Go 后端程序员学习之路。主要分享后端技术,立志于说清楚真实工作中的编程。一起爬上开悟之坡。

Mac 系统安装多版本 PHP,低版本 PHP

上一篇:ExpandoObject, DynamicObject, DynamicMetaObject


下一篇:【面试】前端面试之 CSS3 新特性