2015-11-04 47 views
1

我正在開發一個需要imap_open()函數的項目,我剛剛用OSX El Capitan購買了我的第一臺Macbook Pro。在OSX上添加imap擴展到Capitan

我激活了擴展在php.ini但.so文件丟失,如何安裝IMAP擴展上埃爾卡皮坦不起作用的搜索和編譯時,我得到錯誤osdep.c:170:10: fatal error: 'x509v3.h' file not found

任何人都知道我應該安裝,以獲得該頭文件或有什麼簡單的方法來安裝像Linux上的擴展(yum安裝php5-imap,apt-get安裝php5-imap)?

回答

3

上週我有同樣的問題,並設法解決它。 問題是,imap make文件假定您的open SSL位於/ usr/include/openssl,而在我的mac上它位於/usr/local/Cellar/openssl/1.0.2d_1/include/openssl

You可以使用定位x509v3.h找到確切路徑

繼從here步驟...步 CD IMAP-2007F

打開Makefile文件後,搜索OSX和更改SSL包含路徑到你路徑

That sho所以你將能夠繼續下去,直到你需要將imap.so複製到/ usr/lib/php的最後一步,這是因爲El Capitan上的新SIP功能而不可能的。

有一看here如何覆蓋這個限制 我希望它可以幫助

3

我碰到過這個問題,同時在El Capitan的MAMP上安裝IMAP的IMAP。伊萬的解決方案是好的,但我發現了幾個相同類型的後續問題:

fatal error: 'openssl/bio.h' 

而是改變Makefile文件,創建符號鏈接:

sudo ln -s /usr/local/Cellar/openssl/1.0.2a-1/include/openssl /usr/include/openssl 

但要做到這一點,你必須首先刪除正如伊凡所說,埃爾卡皮坦的瘋狂「安全」殘疾。啓動時按住 + R,啓動終端並寫入csrutil disable。然後reboot

+0

確保OpenSSL的版本是一樣的喜歡你的計算機(1.0.2a-1在答題)上 –

1

雖然我意識到這並不能直接回答你的問題,但在OSX上安裝使用IMAP運行PHP的最簡單方法是安裝MAMP(https://www.mamp.info)。它將PHP和Apache的第二個副本安裝到它自己的目錄結構中,因此它爲這些產品提供了一個很好的本地開發環境。

這裏額外的好處是它不會觸及你預先安裝的PHP版本,所以如果你不喜歡MAMP,你可以刪除它。好簡單。

+0

哦,男子。我已經安裝了MAMP,我只是忘了看它的PHP是否有我需要的東西....而且它確實!謝謝! –

+1

請注意,與MAMP捆綁在一起的PHP不是*使用--with-imap-ssl編譯的,所以如果您需要ssl,那麼您運氣不佳,需要重新編譯自己。 – twistedpixel

1

我使用this指導對我的MAMP環境 工作對我來說它安裝