Vorwort
Zunächst möchte ich dem Autor von MxSrvs dafür danken, dass er die Entwicklung von PHP auf dem Mac so einfach und weniger umständlich gemacht hat.
Ich habe es aus zwei Gründen manuell kompiliert:
1. Immerhin gibt es PHP 8.1 schon seit langer Zeit. Wenn ich Version 8 nicht verwende, scheint es etwas schlechter zu sein? Es macht keinen Sinn
2. Die höchste kompilierte Version, die MxSrvs nur für PHP 7.4.6 bereitstellt
Denn als ich vorher PHP 7.2 kompilieren wollte, habe ich eine E-Mail gesendet, um mit dem Autor zu kommunizieren, und die Antwort des Autors war, dass ich einfach kompilieren wollte normalerweise. Schließlich stellte ich fest, dass der Autor eine nützliche Versionskompilierung bereitgestellt hatte, sodass ich sie nicht tatsächlich lokal kompilierte und an das Mxsrvs-Tool anpasste.
Vorbereitungen starten h Laden Sie PHP 8.0 herunter
Offizieller PHP-Download
/Applications/MXSRVS/Bin
unter dem Hauptprogrammpfad von MXSRVS, gemäß Gemäß den Namensregeln von Mxsrvs, erstellen Sie einen Ordner php_8.0.16
zum Speichern unserer kompilierten Dateien. Es gibt zwei Möglichkeiten, das Verzeichnis aufzurufen: 1 Klicken Sie auf das kleine Symbol in der Statusleiste des MxSrvs-Tools -> das Verzeichnis-> Hauptprogrammverzeichnis-> Doppelklicken Sie, um den Ordner bin
aufzurufen
2. Öffnen Sie Finder-> Anwendungen-> Suchen Sie rechts nach MxSrvs
-> Doppelklicken Sie, um MxSrvs
einzugeben. -> Doppelklicken Sie, um den Ordner bin
aufzurufen/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
Die Zusammenstellung beginnt
php_8.0.16
während der Kompilierung durch php
zu ersetzen, da MxSrvs diese ersetzt, wenn Sie die PHP-Version wechseln . Das aktuell umgeschaltete Versionsverzeichnis wird auf php
geändert. 🎜🎜🎜Ich habe VScode
verwendet, den Ordner in den Editor gezogen und dann global gesucht und ersetzt. 🎜🎜Der zweite Schritt besteht darin, /Applications/MxSrvs/ einzugeben. Kopieren Sie die Datei <code>php-fpm.conf.default
im Verzeichnis bin/php/etc in das aktuelle Verzeichnis und benennen Sie sie in php-fpm.conf
um. und es gibt Kopieren Sie www.conf.default
unter /Applications/MxSrvs/bin/php/etc/php-fpm.d
in das aktuelle Verzeichnis und benennen Sie es in www.conf
🎜Die Der dritte Schritt ist auch. Der wichtigere Schritt besteht darin, die Konfigurationsdatei der von uns bearbeiteten PHP-Version /Applications/MxSrvs/bin/php/etc/php.ini
mit der von MxSrvs bereitgestellten Version zu vergleichen pph.ini code> Vergleichen Sie Zeile für Zeile und ändern Sie es dann in die entsprechende Konfiguration. 🎜🎜An dieser Stelle lässt sich grundsätzlich sagen, dass alle Arbeiten erledigt sind und man sich über die Ergebnisse freuen kann. 🎜🎜🎜🎜🎜🎜
/Applications/MxSrvs/bin/php/etc/php.ini
mit der von MxSrvs bereitgestellten Version zu vergleichen pph.ini code> Vergleichen Sie Zeile für Zeile und ändern Sie es dann in die entsprechende Konfiguration. 🎜🎜An dieser Stelle lässt sich grundsätzlich sagen, dass alle Arbeiten erledigt sind und man sich über die Ergebnisse freuen kann. 🎜🎜🎜🎜🎜🎜