为 MAMP 编译 php 个扩展

Compiling php extensions for MAMP

我需要在 MAMP 3.5 上为 PHP 5.6.10 安装几个 PHP 扩展,例如 memcache 和 geoip。

我正在做的是 运行 phpize:

/Applications/MAMP/bin/php/php5.6.10/bin/phpize

输出:

Configuring for:

PHP Api Version: 20131106

Zend Module Api No: 20131226

Zend Extension Api No: 220131226

然后配置:

/configure --with-php-config=/Applications/MAMP/bin/php/php5.6.10/bin/php-config

然后,尝试使用 make 进行构建。这是我收到此错误的地方:

/Applications/MAMP/bin/php/php5.6.10/include/php/Zend/zend.h:51:11: fatal error: 'zend_config.h' file not found

我从 php.net 下载了 include/php 文件夹的内容,版本 5.6.10(找到 here)。

我觉得我现在离解决这个问题更近了,但我对这个错误不知所措。我做错了什么,显然从 php.net 下载的 php 缺少文件?

谢谢。

我最终使用 pecl 而不是手动编译扩展。

make 步骤中缺少的 headers 是我没有 运行 ./configure php 文件夹 - 我偶然发现了这一步,真的。

之后,我只需要运行:

sudo /Applications/MAMP/bin/php/php5.6.10/bin/pecl install memcache

一切都运行装在轮子上。

在尝试 pecl 之前,我尝试 运行 make 就像我在 post 上所做的那样,并且扩展编译成功,但是 php 和 php 之间的版本不匹配延期。我以前尝试过 pecl 但没有成功,但我真的不知道自从我上次尝试以来我的配置发生了什么变化。


无论如何,我写了一个 gist 来完成这个工作的所有步骤,以防有人遇到同样的问题并且像我一样是这个主题的初学者。