首頁 > 後端開發 > PHP8 > Mac 如何編譯 PHP 8.0 到 MxSrvs 工具

Mac 如何編譯 PHP 8.0 到 MxSrvs 工具

谨言慎行
發布: 2023-02-17 12:34:02
原創
3306 人瀏覽過

前言

首先,十分感謝開發 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 資料夾
Mac 如何編譯 PHP 8.0 到 MxSrvs 工具

#編譯開始

解壓縮下載的文件,得到[ php-8.0.16] 資料夾
Mac 如何編譯 PHP 8.0 到 MxSrvs 工具
編譯指令:

./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 工具的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
mac
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板