memcache.so、MAMP の 0 行目の不明のアーキテクチャが間違っています

memcache.so、MAMP の 0 行目の不明のアーキテクチャが間違っています

pecl から memcache をインストールし、memcache.so を取得しました。その後、php.ini に追加しましたが、エラーが発生しました。

[12-Aug-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 行目の Unknown のアーキテクチャが間違っています

私は試した

$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: Mach-O 64 ビット バンドル x86_64

私はMac OS x 10.6.4 64ビットを使用しています

答え1

おそらく PHP は 64 ビットでビルドされていないため、64 ビット モジュールを 32 ビット アプリケーションにロードしようとしているのだと思いますが、もちろん動作しません。PHPバイナリ (またはモジュールとして使用されている場合は PHP モジュール) を
実行して確認できます。file

答え2

主な回答は、私が間違ってコンパイルしたことを理解するのに大いに役立ちましたが、モジュールを正しくコンパイルするには、これが機能することがわかりました。

$ 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

関連情報