Mac 如何編譯 PHP 8.0 到 MxSrvs 工具

2022-02-22 10:00:12

前言

首先,十分感謝開發 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] 資料夾
開始編譯
編譯命令:

./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 逐行對比,然後修改成對應的相應設定。

這個時候基本那就可以說是做了所有的工作,可以享受成果了。
最終編譯 PHP 8.0 適配 MxSrvs 完成

以上就是Mac 如何編譯 PHP 8.0 到 MxSrvs 工具的詳細內容,更多請關注TW511.COM其它相關文章!