
pecl에서 memcache를 설치하고 memcache.so를 얻었습니다. 그 후 php.ini를 추가했지만 오류가 발생했습니다.
[2010년 8월 12일 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: 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