前言

首先,十分感谢开发 MxSrvs 的作者,能让在 Mac 上开发 PHP 变得如此简单,并且不那么繁琐。
我手动编译有两条原因:

  1. 毕竟现在 PHP 8.1 都出很久了,再不使用一下 8 版本,好像要有亿点点?? 说不过去
  2. MxSrvs 提供的已编译好的最高版本仅到 PHP 7.4.6

因为以前想编译 PHP 7.2 的时候,跟作者发过邮件沟通,作者给的回复是正常编译就好。最后发现,作者提供了后续一些好用的版本编译,我也就没有自己实际操作过去编译到本地以及去适配到 Mxsrvs 这个工具。

开始准备工作

下载 PHP 8.0

PHP 官方下载
下载PHP 8.0.16 版本
进入到 MxSrvs 的主程序路径下的 /Applications/MxSrvs/bin ,根据 Mxsrvs 的命名规则,创建一个 php_8.0.16 文件夹,用来存放我们编译后的文件
进入目录有两种方法:

  1. 点击 MxSrvs 工具状态栏小图标 -> 定位目录 -> 主程序目录 -> 双击进入 bin 文件夹
    MxSrvs 主程序目录

  2. 打开访达 -> 应用程序 -> 右边搜索 MxSrvs -> 双击进入 MxSrvs -> 双击进入 bin 文件夹
    通过访达直接一步一步进入

编译开始

解压下载的文件,得到 [ php-8.0.16] 文件夹
开始编译
编译命令:

  1. ./buildconf --force
  2. ./configure --prefix=/Applications/MxSrvs/bin/php_8.0.16 \
  3. --with-config-file-path=/Applications/MxSrvs/bin/php_8.0.16/etc \
  4. --with-mysqli=mysqlnd \
  5. --with-pdo-mysql=mysqlnd \
  6. --with-pear \
  7. --with-zlib \
  8. --with-curl \
  9. --enable-mysqlnd \
  10. --enable-pdo \
  11. --enable-fpm \
  12. --enable-cli \
  13. --without-iconv
  14. sudo make && sudo make install
  15. sudo cp php.ini-development /Applications/MxSrvs/bin/php_8.0.16/etc/php.ini

等编译跑完,编译期间需要输入两次(电脑)密码,因为用了 sudo
一般安装的时候,也不会遇到太多的缺失的组件之类的。如果缺东西,基本是缺什么安装什么即可

  1. 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 逐行对比,然后修改成对应的相应配置。

这个时候基本那就可以说是做了所有的工作,可以享受成果了。
最终编译 PHP 8.0 适配 MxSrvs 完成

更多相关文章

  1. android studio 3.1.1 创建项目编译不过的问题解决
  2. Android各个版本API的区别
  3. 64位Ubuntu Kylin14编译android内核
  4. android studio ndk开发遇到的问题
  5. [置顶] Android系统安全之旅 第1章 编译Android程序的方法
  6. Eclipse下Android-SDK-1.5模拟器启动设置
  7. Android(安卓)NDK 开发教程三:Hello JNI 示例
  8. Android(安卓)Developers 系列 01 - Introduction
  9. android NDK/JNI-实例开发流程

随机推荐

  1. android 在SD卡创建文件夹
  2. Android 通信录中的联系人操作
  3. Android SDK Tools R15 发布
  4. android 复制、粘贴文字
  5. android 新手学习笔记 点击事件
  6. Spinner下拉位置处理
  7. JAVA设计模式之Template method
  8. 教你如何用最新的技术快速开发一个完整的
  9. 【Android】性能分析工具:开篇
  10. Android 开发小经验