繁体   English   中英

在OSX El Capitan上安装imagick for PHP:随附的pcre.h文件存在问题

[英]Installing imagick for PHP on OSX El Capitan: issue with included pcre.h file

我正在尝试为PHP安装imagick包装器。 我正在使用OSX(PHP的捆绑版),并已使用MacPorts安装了Image Magick。 当我尝试安装Imagick包装程序时,我完成了phpize和./configure步骤,但是编译失败。

在终端中,运行“ make”命令后,一切都会愉快进行,直到收到致命错误:

In file included from /usr/local/imagick-3.4.1/imagick.c:37:
In file included from /usr/include/php/ext/spl/spl_iterators.h:27:
/usr/include/php/ext/pcre/php_pcre.h:29:10: fatal error: 'pcre.h' file not found
#include "pcre.h"**

我尝试创建到使用MacPorts安装的pcre.h文件的符号链接,但是当我尝试运行El Cap时不会抛出“不允许操作”错误,而且我知道这与El中新的受限超级用户privs有关帽。

# tried both:
sudo ln -s /opt/local/include/pcre.h /usr/include/php/ext/pcre
sudo ln -s /opt/local/include/pcre.h /usr/include/

谁能建议我获取“ /usr/include/php/ext/pcre/php_pcre.h”以找到文件“ /opt/local/include/pcre.h”的方法?

我知道我可以通过MacPorts安装PHP,而这最终可能是“最简单”的解决方案,但是我希望在通过MacPorts安装PHP之前继续使用捆绑版本的PHP。

预先感谢您的歉意,因为我在这里找到了类似的问题。 我认为我的问题略有不同,在堆栈交换上我实在是一个菜鸟,无法发表评论和提出问题(而且我当然无权发表答案:))

顺便说一下,这是我的shell命令序列:

cd /usr/local/
sudo curl -O https://pecl.php.net/get/imagick-3.4.1.tgz
sudo tar zxf imagick-3.4.1.tgz
cd imagick-3.4.1
sudo phpize
sudo ./configure --with-imagick=/opt/local
sudo make // fail with include error

您真正的问题是Mac SIP(​​系统完整性保护)。 启用S​​IP后,您将无法将任何内容写入/ usr(/ usr / local除外)。 禁用它并执行符号链接,然后尝试使用phpize安装Imagick包装器。 确保安装后重新启用SIP。

禁用SIP

1)听到启动提示音后,重新启动Mac并同时按住Command + R键,这会将OS X引导到恢复模式。

2)当出现“ OS X Utilities”屏幕时,请下拉屏幕顶部的“ Utilities”菜单,然后选择“ Terminal”

3)在终端中输入以下命令,然后按回车键:

csrutil disable; reboot

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM