Сразу после сообщения об ошибке я могу сказать, что это проблема, связанная с архитектурой (например, см. this ).XAMPP по-прежнему 32-битный только в соответствии с этим вопросом в их FAQ , и PECL попытается построить расширения как 64-битные по умолчанию.
Однако и MAMP, и MAMP Pro входят в оба32- и 64-разрядные двоичные файлы по состоянию на 2.0 1 .
Однако вопрос заключается в том, имеет ли ваш Mac 64-разрядный процессор и работает ли он по умолчанию с 64-разрядной OS X, Эта статья о поддержке Apple предлагает руководство по определению, какой у вас Mac.Например, если у вас есть Macbook Pro 2008-2010 годов, он может по умолчанию запускать 32-разрядное ядро, но (см. Статью) вы можете настроить его для запуска 64-разрядного ядра.
Ваш самый быстрый путь к вашей цели, вероятно, состоит в том, чтобы собрать mongo.so для 32-битной системы.В этой статье о использовании MAMP / PECL для установки расширений PHP говорится, что с PECL это должно быть так просто:
CFLAGS="-arch i386" ./pecl install
Если это не сработает, вы можете попробовать руководствоустановка, передав 32-битные флаги для настройки.См. этот вопрос для установки memcached.so для методов, которые, вероятно, будут работать для вас.
Это должно работать (на основе выше и инструкции по ручной установке драйвера Mongo для php.net ):
tar zxvf mongodb-mongodb-php-driver-<commit_id>.tar.gz
cd mongodb-mongodb-php-driver-<commit_id>
phpize
MACOSX_DEPLOYMENT_TARGET=10.5 CFLAGS="-arch i386 -arch x86_64 -g -Os -pipe -no-cpp-precomp" CCFLAGS="-arch i386 -arch x86_64 -g -Os -pipe" CXXFLAGS="-arch i386 -arch x86_64 -g -Os -pipe" LDFLAGS="-arch i386 -arch x86_64 -bind_at_load" ./configure
sudo make install
... затем обратитесь к приведенной выше ссылке на php.net для остальных этапов установки вручную (т. е. добавьте расширение в ваш php.ini).