搜尋
首頁php框架SwooleMac 編譯安裝 Swoole 遇到 .h 檔案不存在問題解決方案

前言

       1. 其實我真的沒想過安裝歷程會這麼Emmm… 怎麼描述呢,就是那種其實你要說難不難,但是就是也挺噁心,還有Mac 的本機自備環境以及有些文件不自動載入所引起的各種問題。

       2.還有就是,這樣的問題真的很少資料,所以記錄一下。


本機環境


且是 Xcode 處於未安裝狀態。
本機自備 PHP 版本 7.3
本地的環境設定工具,用的是 MxSrvs ,一款 Mac 版 PHP 開發環境。工具官網:http://www.xsrvs.com/ 工具雖小,但五臟俱全,開發完全足夠。

重點問題

1. 出現找不到PHP 的頭部檔案

2. 出現找不到Openssl 的頭檔(報錯資訊跟PHP 的差不多)

準備工作

官網需求

       這裡多說一句,雖然官方沒有標註autoconf  需要多少版本以上,但是編譯安裝的時候需要2.68 以上。

從Git 下載原始碼套件下載位址,我下載的是

安裝過程

因為是本地,所以我就把下載的套件直接進入控制台目錄了,就不寫前面的什麼CD目錄之類的了,然後運行下面的程式碼,因為我要編譯到工具裡的PHP 版本中,所以用的是工具提供的phpzie

/Applications/MxSrvs/bin/php/bin/phpize./configure \--enable-openssl \--enable-http2  \make && sudo make install

       不意外的遇到了問題1,這個問題,百度、必應都沒找到相關的東西,然後問了一些群友,有的人說是因為版本太高的問題,說最適合Swoole 的版本是7.2 版本。

       最終,指向問題本質的回答給了我靈感,大致答案的意思是,從macOs 10.10 以後的版本開始, Mac 自帶的PHP 版本,取消了部分資料夾,也就是說,自帶的PHP 沒有編譯安裝所需的檔案

        知道原因,其實就很好解決了,畢竟我們開發,沒有幾個用自帶環境的,所以,只需要考慮,怎麼將工具使用的PHP 版本,動態到系統環境變量即可。由於以前有設定過系統環境變數路徑,稍微有點映像,就百度了設定環境變數的方法。
其實就是透過.bash_profile 來設定環境變數

但是,你重啟之後,每次都需要在命令列輸入

source ~/.bash_profile

來使之生效,這樣就比較麻煩,我們可以利用Mac 自動載入.zshrc 檔案的機制,把

source ~/.bash_profile

加入到檔案尾,使之每次不需要人工輸入。達到動態設定環境變數的目的。

至此,第一個問題解決。

繼續第二次安裝,然後出現了第二個問題,解決這個問題,就比較繞了。
      其實本質上遇到的問題都是同樣的,都是因為Mac 自帶的軟體,都沒有這個.h 的頭文件,所以才出現這些問題的,第一個問題,透過綁定到工具的變量,實現了變更環境變量,算是取巧的一個處理方法,openssl 這個擴展講道理還是用到的地方很多的,所以就安裝在自己的機器整體環境中。
      在安裝openssl 之前,需要先安裝Xcode ,這一步,我沒有省去,好像在Mac 上好多的環境變量都跟Xcode 文件目錄掛鉤,著實噁心,但是也不能不安裝,安裝完之後,我們再安裝openssl ,命令列輸入

brew install openssl


如果偵測到你的已經存在,會提示你重新安裝可以執行

brew reinstall openssl@1.1


其中有一句,就是让把这个添加到

If you need to have openssl@1.1 first in your PATH run:  echo 'export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"' >> ~/.zshrc

把这个也添加之前修改过的 .zshrc 文件即可。
接下来就是重头戏了。说白了就是简单的粘贴复制,把 openssl 的文件夹,路径为

/usr/local/Cellar/openssl@1.1/1.1.1h/include/openssl

复制到

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/

目录下即可
至此,第二个问题解决。

然后再运行编译 Swoole ,等待编译完成就可以了

成果


打完收工!

以上是Mac 編譯安裝 Swoole 遇到 .h 檔案不存在問題解決方案的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能