
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