Как построить mongo.so или PHP с правильной версией модуля api

Попытка установить mongoDB в настройке MAMP. У меня MAMP 3.05, который поставляется с PHP 5.5.10. Установлено mongo, используя инструкции с сайта mongo, и, похоже, работает правильно. Схватил расширение mongo с страницы mongo github и выполнил их инструкции по созданию и добавлению расширения на php.ini.

Кажется, все нормально, пока я не перезапущу MAMP. В php_error.log я вижу следующее:

PHP Warning: PHP Startup: mongo: Unable to initialize module Module compiled with module API=20100525 PHP compiled with module API=20121212 These options need to match in Unknown on line 0 

Похоже, что номер API для php – это более поздняя версия, поэтому было бы неплохо не перестраивать старую версию PHP. Есть ли способ перестроить расширение mongo с правильной версией модуля, или мне нужно отменить MAMP и построить PHP вручную?

Проверьте с помощью команды which phpize если вы используете правильную версию команды phpize . Это должно указывать на каталог, аналогичный тому, с которым вы установили ваш PHP5. Mine находится в /usr/bin/phpize который является установкой OS X по умолчанию.

Вы можете также запустить phpize -v чтобы проверить версию API, с которой он ссылается. В моем случае (по умолчанию установка OS X PHP) он выводит:

 Configuring for: PHP Api Version: 20100412 Zend Module Api No: 20100525 Zend Extension Api No: 220100525 

Если выведенная версия API не соответствует вашему требуемому номеру 20121212 (в моем случае это 20100412 который не соответствует), вы используете неправильный phpize для настройки расширения.

Вы должны сделать это сначала

  sudo cp -r /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/S‌​DKs/MacOSX10.10.sdk/usr/include/php /usr/include/php