我正在开发一个需要imap_open()函数的项目,我刚买了我的第一个带有OSX El Capitan的Macbook Pro。
我在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)?
答案 0 :(得分:3)
我上周遇到了同样的问题,并设法解决了这个问题。 问题是imap make文件假定你的开放ssl位于/ usr / include / openssl,而在我的mac上它位于/usr/local/Cellar/openssl/1.0.2d_1/include/openssl
您可以使用 locate x509v3.h 查找确切的路径
按照here的步骤...后步骤 cd imap-2007f
打开Makefile,搜索OSX并将ssl include路径更改为路径
这应该可以解决编译问题,所以你可以继续直到你需要将imap.so复制到/ usr / lib / php的最后一步,这是因为El Capitan的新SIP功能而无法实现/ p>
查看here如何覆盖此限制 我希望它有所帮助
答案 1 :(得分:3)
我在El Capitan的MAMP中为IMAP安装SSL时遇到过这个问题。伊万的解决方案很好,但我发现了几个相同类型的后续问题:
fatal error: 'openssl/bio.h'
不是更改Makefile,而是创建符号链接:
sudo ln -s /usr/local/Cellar/openssl/1.0.2a-1/include/openssl /usr/include/openssl
但要做到这一点,你必须首先消除El Capitan的疯狂“安全”残疾,正如伊万也提到的那样。在按住⌘
+ R
时启动,启动终端并写入csrutil disable
。然后是reboot
。
答案 2 :(得分:1)
虽然我意识到这并没有直接回答你的问题,但在OSX上安装IMAP运行PHP的最简单方法是安装MAMP(https://www.mamp.info)。它将PHP和Apache的第二个副本安装到它自己的目录结构中,因此它为这个产品提供了一个很棒的本地开发环境。
这里额外的好处是它不会触及你预装的PHP版本,所以如果你不喜欢MAMP,你可以删除它。很容易。
答案 3 :(得分:1)
我正在使用this指南在我的Mamp环境中安装它 为我工作