Blogger Information
Blog 4
fans 0
comment 0
visits 4331
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
Mac 如何编译 PHP 8.0 到 MxSrvs 工具
谨言慎行
Original
1333 people have browsed it

前言

首先,十分感谢开发 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 \
  3. --with-config-file-path=/Applications/MxSrvs/bin/php/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. --with-openssl \
  14. --enable-gd \
  15. --enable-xml \
  16. --without-iconv
  17. sudo make && sudo make install
  18. sudo cp php.ini-development /Applications/MxSrvs/bin/php/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 提供的版本的 php.ini 逐行对比,然后修改成对应的相应配置。

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

Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post