无法在OS X 10.9 Mavericks中进行phpize或配置扩展。

34

我正在尝试在OS X 10.9 Mavericks上构建memcached扩展,以便与内置的PHP 5.4一起使用,最初我尝试了pecl install memcached,但是出现了以下错误。

checking for zlib location... configure: error: memcached support requires ZLIB. Use --with-zlib-dir=<DIR> to specify the prefix where ZLIB headers and library are located
ERROR: `/private/tmp/pear/install/memcached/configure' failed

于是我创建了一个tmp目录并执行pecl download memcached,解压代码并cd到适当的目录。

尝试phpize它返回了以下内容:

grep: /usr/include/php/main/php.h: No such file or directory
grep: /usr/include/php/Zend/zend_modules.h: No such file or directory
grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory
Configuring for:
PHP Api Version:        
Zend Module Api No:     
Zend Extension Api No:  

我之前安装了brew zlib并将./configure指向我的安装路径。 ./configure --with-zlib-dir=/usr/local/Cellar/zlib/1.2.8 但是出现了以下错误信息:

checking for session includes... configure: error: Cannot find php_session.h

现在我在想这里最好的行动方式是什么... /usr/include/ 根本不存在...这是 Mavericks 的问题吗?我完全不记得在 10.8 中遇到过这个问题。

我可以尝试使用 brew 安装 php-devel,但我认为那不会是我需要的正确版本?任何帮助都将非常感激。

更新

locate php_session.h 显示

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include/php/ext/session/php_session.h

我应该只是将此链接 ln -s 到预期位置,还是有一些通过 XCode 完成它的方法?我已经安装了命令行工具...

4个回答

99

运行xcode-select --install来安装XCode5命令行工具,然后运行sudo pecl install memcache。这样就可以了。


我收到以下信息:xcode-select: 错误:无效参数 'fixes' 用法:xcode-select [选项] - donatJ
1
天哪,我也找了一个小时,这个方法对我也起作用了。仅供谷歌参考 - 这也解决了尝试安装apc并收到错误消息的问题:/private/tmp/pear/install/APC/apc.h:61:10: 致命错误:找不到'php.h'文件。 - Jason Hoekstra
1
如果code-select --install对您不起作用,您可以按以下方式下载它们: 打开Xcode 在应用程序菜单项“Xcode”中选择“打开开发人员工具>更多开发人员工具...” 这将带您进入一个包含大量软件的网站。请继续下载并安装“Command Line Tools (OS X Mavericks) for Xcode - Late October 2013”。 (摘自https://discussions.apple.com/message/23548005#23548005) - Jonny White
我正在安装 php-protocolbuffers,但是出现了 php.h 找不到的错误。xcode-select 已经存在。 - Volatil3

5

3
我遇到了这个问题,原因是MAMP没有所有的PHP源代码。
我发现这篇非常有帮助的解决方案,它解释了如何下载并配置它们:https://dev59.com/JGgv5IYBdhLWcg3wSe0f#11175197 请注意,MAMP组件不包括任何高于php 5.4.10版本的额外功能,但您可以从http://php.net/releases下载这些额外功能。

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接