在OSX El Capitan上为PHP添加imap扩展


Add imap extension to PHP on OSX El Capitan

我正在做一个需要imap_open()函数的项目,我刚刚买了我的第一台Macbook Pro,上面有OSX El Capitan。

我在php.ini中激活了扩展名,但.so文件丢失了,搜索如何安装imap扩展名在El Capitan上不起作用,在编译时我得到了错误osdep.c:170:10: fatal error: 'x509v3.h' file not found

任何人都知道我应该安装什么才能获得这个头文件,或者有没有像在Linux上一样简单的方法来安装扩展插件(yum-install php5-imap,apt-get-install php5-imap)?

上周我遇到了同样的问题,并设法解决了它。问题是,imap-make文件假设您的openssl位于/usr/include/openssl,而在我的mac上,它位于/usr/local/Cellar/openssl/1.0.2d_1/include/openssl

您可以使用定位x509v3.h来查找的确切路径

按照这里的步骤。。。步骤之后cd imap-2007f

打开Makefile,搜索OSX并将ssl包含路径更改为路径

这应该可以解决编译问题,因此您将能够继续到最后一步,需要将imap.so复制到/usr/lib.php,这是不可能的,因为El Capitan 上有新的SIP功能

看看这里如何覆盖此限制我希望它能帮助

我在El Capitan的MAMP中安装IMAP SSL时遇到了这个问题。Ivan的解决方案很好,但我发现了几个相同类型的后续问题:

fatal error: 'openssl/bio.h'

与其更改Makefile,不如创建一个符号链接:

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

但要做到这一点,你必须首先消除El Capitan疯狂的"安全"残疾,正如Ivan也提到的那样。按住+R启动,启动终端并写入csrutil disable。然后是CCD_ 5。

虽然我意识到这并不能直接回答您的问题,但在OSX上安装IMAP的情况下运行PHP最简单的方法是安装MAMP(https://www.mamp.info)。它将PHP和Apache的第二个副本安装到自己的目录结构中,因此为这些产品提供了一个很好的本地开发环境。

这里增加的好处是它不会影响你预装的PHP版本,所以如果你不喜欢MAMP,你可以删除它。非常容易。

我使用本指南将其安装在Mamp环境中为我工作