前言
首先,十分感谢开发 MxSrvs 的作者,能让在 Mac 上开发 PHP 变得如此简单,并且不那么繁琐。
我手动编译有两条原因:
1.毕竟现在 PHP 8.1 都出很久了,再不使用一下 8 版本,好像要有亿点点?? 说不过去
2.MxSrvs 提供的已编译好的最高版本仅到 PHP 7.4.6
因为以前想编译 PHP 7.2 的时候,跟作者发过邮件沟通,作者给的回复是正常编译就好。最后发现,作者提供了后续一些好用的版本编译,我也就没有自己实际操作过去编译到本地以及去适配到 Mxsrvs 这个工具。
开始准备工作
下载 PHP 8.0
PHP 官方下载
进入到 MxSrvs 的主程序路径下的 /Applications/MxSrvs/bin
,根据 Mxsrvs 的命名规则,创建一个 php_8.0.16
文件夹,用来存放我们编译后的文件
进入目录有两种方法:
1、点击 MxSrvs 工具状态栏小图标 -> 定位目录 -> 主程序目录 -> 双击进入 bin
文件夹
2、打开访达 -> 应用程序 -> 右边搜索 MxSrvs
-> 双击进入 MxSrvs
-> 双击进入 bin
文件夹
编译开始
解压下载的文件,得到 [ php-8.0.16] 文件夹
编译命令:
./buildconf --force./configure --prefix=/Applications/MxSrvs/bin/php_8.0.16 \--with-config-file-path=/Applications/MxSrvs/bin/php_8.0.16/etc \--with-mysqli=mysqlnd \--with-pdo-mysql=mysqlnd \--with-pear \--with-zlib \--with-curl \--enable-mysqlnd \--enable-pdo \--enable-fpm \--enable-cli \--without-iconv sudo make && sudo make installsudo cp php.ini-development /Applications/MxSrvs/bin/php_8.0.16/etc/php.ini
等编译跑完,编译期间需要输入两次(电脑)密码,因为用了 sudo
一般安装的时候,也不会遇到太多的缺失的组件之类的。如果缺东西,基本是缺什么安装什么即可
brew install xxxx
然后再次编译就行了。
适配 MxSrvs
我们重启 MxSrvs 工具,这个时候就可以看到我们编辑的 PHP 版本了,切换到
8.0.16
,这个时候点击启动按钮是启动不了的。
中间的启动错误图,因为没有截图,所以…
第一步,把所有编译的时候,配置的文件夹名称 php_8.0.16
替换成 php
,因为 MxSrvs 会在你切换 PHP 版本的时候,会把当前切换版本目录改成 php
。
我是用
VScode
,把文件夹拖到编辑器,然后全局搜索替换的。
第二步,分别把 /Applications/MxSrvs/bin/php/etc
目录下的文件 php-fpm.conf.default
复制到当前目录并重命名为 php-fpm.conf
,还有就是 /Applications/MxSrvs/bin/php/etc/php-fpm.d
下的 www.conf.default
复制到当前目录并重命名为 www.conf
第三步,也是比较重要的一步,需要把我们编辑的 PHP 版本的配置文件 /Applications/MxSrvs/bin/php/etc/php.ini
与 MxSrvs 提供的版本的 pph.ini
逐行对比,然后修改成对应的相应配置。
这个时候基本那就可以说是做了所有的工作,可以享受成果了。