memcache.so, неправильная архитектура в Unknown в строке 0 в MAMP

Я устанавливаю memcache из pecl и получаю memcache.so. После этого я добавляю в php.ini, но я получил ошибку.

[12 августа 2010 г. 13:02:24] Предупреждение PHP: Запуск PHP: невозможно загрузить динамическую библиотеку "/Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/memcache.so' - dlopen(/Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/memcache.so, 9): подходящее изображение не найдено. Обнаружил: /Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/memcache.so: mach-o, но неверная архитектура в Неизвестно в строке 0

Я старался

$file /Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/memcache.so

я получил

/Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/memcache.so: 64-разрядный пакет Mach-O x86_64

Я использую Mac OS x 10.6.4 64bit

2 ответа

Решение

Я думаю, это вероятно, потому что php не собран в 64-битной версии, поэтому вы пытаетесь загрузить 64-битный модуль в 32-битное приложение, и, конечно, он не будет работать.
Вы можете проверить это, запустив file на бинарном PHP (или PHP-модуль, если используется в качестве модуля)

Основной ответ очень помог мне выяснить, что я неправильно скомпилировал, но для правильной компиляции модуля я понял, что это работает для меня:

$ cd your-php-module
$ /Applications/MAMP/bin/php5/bin/phpize
$ ./configure CFLAGS="-arch i386" --with-php-config="/Applications/MAMP/bin/php5/bin/php-config"
$ make
$ make install
Другие вопросы по тегам