Mac PHP7 Pecl Oauth:找不到pcre.h

时间:2016-08-24 14:21:30

标签: php macos oauth pcre pecl

我过了一天来修复这个错误,我觉得是时候提出问题了!

所以当我尝试安装Oauth PHP模块时出现此错误 sudo pecl install oauth

configure: error: Couldn't find pcre.h, try installing the libpcre development/headers package

我已经在Brew上安装了pcre,因为我在使用Mac Os 10.11.6

Pcre已正确安装:

iLolo:oauth-2.0.2 do_f$ brew install pcre Warning: pcre-8.39 already installed

PHP版本:

iLolo:oauth-2.0.2 do_f$ php -v PHP 7.0.8 (cli) (built: Jun 26 2016 12:30:44) ( NTS )

这里有locate pcre.h命令

iLolo:~ do_f$ locate pcre.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/php/ext/pcre/php_pcre.h
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-migrator/sdk/MacOSX.sdk/usr/include/php/ext/pcre/php_pcre.h
/usr/local/Cellar/pcre/8.39/include/pcre.h
/usr/local/Cellar/pcre/8.39/share/doc/pcre/html/pcre.html
/usr/local/include/pcre.h
/usr/local/php5-7.0.8-20160626-123411/include/pcre.h
/usr/local/php5-7.0.8-20160626-123411/include/php/ext/pcre/pcre.h
/usr/local/php5-7.0.8-20160626-123411/include/php/ext/pcre/pcrelib/pcre.h
/usr/local/php5-7.0.8-20160626-123411/include/php/ext/pcre/pcrelib/pcre.h.back
/usr/local/php5-7.0.8-20160626-123411/include/php/ext/pcre/php_pcre.h
/usr/local/php5-7.0.8-20160626-123411/include/php/ext/pcre.h
/usr/local/php5-7.0.8-20160626-123411/include/php/include/pcre.h
/usr/local/php5-7.0.8-20160626-123411/include/php/pcre.h
iLolo:~ do_f$ 

3 个答案:

答案 0 :(得分:1)

安装pcre:

brew install pcre

然后又跑了。

答案 1 :(得分:0)

所以我找到了一个"解决方案",我已经编辑了src dir oauth-2.0.2中的configure

#ac_fn_c_check_header_mongrel "$LINENO" "pcre.h" "ac_cv_header_pcre_h"  "$ac_includes_default" 
#if test "x$ac_cv_header_pcre_h" = xyes; then : 
#else # as_fn_error $? "Couldn't find pcre.h, try installing the libpcre development/headers package" "$LINENO" 5 
#fi

然后我做./configure make make test make install并在extension=oauth.so

中添加php.ini

答案 2 :(得分:0)

您需要安装pcre-devel软件包。打开配置脚本并注释掉支票不是您的答案。

brew install pcre-devel         

然后,再试一次。