我正在关注这个教程:http://coolestguidesontheplanet.com/install-mcrypt-php-mac-osx-10-10-yosemite-development-server/
到目前为止一切都很好。我刚刚看到标题:编译 mcrypt php 扩展
当我跑步时/usr/bin/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:
我正在使用 PHP 5.5.14,并在教程中下载了等效的 PHP 语言。我该如何解决这个问题?
答案1
最初对这个答案有点困惑之后,在评论中发现,很明显你执行的是 /usr/bin/phpsize,而不是你的 PHP 5.5.14 版本的 phpize,它提供了用于编译的配置文件,在本例中是 mcrypt。
你不应该按照教程脚本来执行,而/usr/bin/phpize
应该在 mcrypt 目录中调用 5.5.14 phpize(请参阅教程编译 mcrypt php 扩展)。
这个想法是,`/usr/bin/phpize 中反映的与 PHP 版本相匹配的包含树未安装,它依赖于已安装的命令行开发人员工具。如果您实际上使用的是不同版本的 PHP,则安装的 PHP 包含树版本似乎不是必需的,该版本将与所需的包含文件一起安装(在某处)。
使用正确的 phpize 应该可以理顺 mcrypt 构建。如果您查看手册页,您可以先执行phpize --clean
以删除任何不正确的设置。
您还可以注意到,开发人员命令行工具对于构建以 C 语言编写的 mcrypt 是必需的。这并不意味着或要求使用 Xcode。
答案2
只需添加 php 标头目录的符号链接:
sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/php /usr/include/php
然后运行 phpize。
答案3
是的,我必须先做这件事:
cp /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10sdk/usr/include/php /usr/include/php
答案4
我在按照相同的教程时遇到了相同的 phpize 问题。我所做的是安装 Xcode 命令行工具,而不是在运行“xcode-select --install”后“获取”Xcode。