2015-11-04 46 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环境 工作对我来说它安装