小編給大家分享一下Mac編譯安裝Swoole遇到 .h 文件不存在的問題怎么辦,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯(lián)主營布爾津網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,APP應(yīng)用開發(fā),布爾津h5成都小程序開發(fā)搭建,布爾津網(wǎng)站營銷推廣歡迎布爾津等地區(qū)企業(yè)咨詢
1. 其實(shí)我是真的沒想過安裝歷程會這么 Emmm… 怎么描述呢,就是那種其實(shí)你要是說難也不難,但是就是也挺惡心,還有就是 Mac 的本機(jī)自帶環(huán)境以及有些文件不自動加載引起的各種問題。
2.還有就是,這樣的問題真的很少資料,所以記錄一下。
并且是 Xcode 處于未安裝狀態(tài)。
本地自帶 PHP 版本 7.3
本地的環(huán)境配置工具,用的是 MxSrvs ,一款 Mac 版 PHP 開發(fā)環(huán)境。工具官網(wǎng):http://www.xsrvs.com/ 工具雖小,但是五臟俱全,開發(fā)完全足夠。
官網(wǎng)需求
這里多說一句,雖然官方?jīng)]有標(biāo)注 autoconf 需要多少版本以上,但是編譯安裝的時候需要 2.68 及以上。
從 Git 下載源碼包 下載地址,我下載的是
因?yàn)槭潜镜?,所以我就把下載的包直接進(jìn)入控制臺目錄了,就不寫前面的什么CD目錄之類的了,然后運(yùn)行下面的代碼,因?yàn)槲乙幾g到工具里的 PHP 版本中,所以用的是工具提供的 phpzie
。
/Applications/MxSrvs/bin/php/bin/phpize./configure \--enable-openssl \--enable-http2 \make && sudo make install
不出意外的遇到了問題 1,這個問題,百度、必應(yīng) 都沒找到相關(guān)的東西,然后問了一些群友,有的人說是因?yàn)榘姹咎叩膯栴},說最合適 Swoole 的版本是 7.2 版本。
最終,指向問題本質(zhì)的回答給了我靈感,大致的回答的意思是,從 macOs 10.10 以后版本開始, Mac 自帶的 PHP 版本,取消了部分文件夾,也就是說,自帶的PHP 沒有編譯安裝所需要的文件。
知道原因,其實(shí)就很好解決了,畢竟我們開發(fā),沒有幾個用自帶環(huán)境的,所以,只需要考慮,怎么將工具使用的 PHP 版本,動態(tài)到系統(tǒng)環(huán)境變量即可。由于以前設(shè)置過系統(tǒng)環(huán)境變量路徑,稍微有點(diǎn)映象,就百度了設(shè)置環(huán)境變量的方法。
其實(shí)就是通過 .bash_profile 來設(shè)置環(huán)境變量
但是,你重啟之后,每次都需要在命令行輸入
source ~/.bash_profile
來使之生效,這樣就比較麻煩,我們可以利用 Mac 自動加載 .zshrc 文件的機(jī)制,把
source ~/.bash_profile
添加到文件尾,使之每次不需要人工輸入。達(dá)到動態(tài)設(shè)置環(huán)境變量的目的。
至此,第一個問題解決。
繼續(xù)第二次安裝,然后出現(xiàn)了第二個問題,解決這個問題,就比較繞了。
其實(shí)本質(zhì)上遇到的問題都是同樣的,都是因?yàn)?Mac 自帶的軟件,都沒有這個 .h 的頭文件,所以才出現(xiàn)這些問題的,第一個問題,通過綁定到工具的變量,實(shí)現(xiàn)了變更環(huán)境變量,算是取巧的一個處理方法,openssl 這個擴(kuò)展講道理還是用到的地方很多的,所以就安裝在自己的機(jī)器整體環(huán)境中。
在安裝 openssl 之前,需要先安裝 Xcode ,這一步,我沒有省去,好像在 Mac 上好多的環(huán)境變量都跟 Xcode 文件目錄掛鉤,著實(shí)惡心,但是也不能不安裝,安裝完之后,我們再安裝 openssl ,命令行輸入
brew install openssl
如果檢測到你的已經(jīng)存在,會提示你重新安裝可以運(yùn)行
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 文件即可。
接下來就是重頭戲了。說白了就是簡單的粘貼復(fù)制,把 openssl 的文件夾,路徑為
/usr/local/Cellar/openssl@1.1/1.1.1h/include/openssl
復(fù)制到
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/
目錄下即可
至此,第二個問題解決。
然后再運(yùn)行編譯 Swoole ,等待編譯完成就可以了
以上是“Mac編譯安裝Swoole遇到 .h 文件不存在的問題怎么辦”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!