PHP의 PECL SPHINX 모듈 설치 문제
문제
Sphinx Binaries와 라이브러리를 설치했으며 이제 Pecl Sphinx 모듈을 설치하려고합니다.
내 시스템은 MAMP 1.8.2가 설치된 OS X 10.6을 실행 중입니다. 다음 명령을 사용하여 Sphinx를 설치하려고합니다.
sudo pecl install sphinx
PECL 명령은 다음을 출력합니다.
running: phpize
Configuring for:
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626
위의 버전은 수행 할 때 나열된 버전과 일치하지 않습니다. phpinfo()
. PECL은 PHP의 내장 버전에 대해 불만을 제기하려고하는 것 같습니다.
오류를 무시하고 계속하면 성공적으로 컴파일하고 배치합니다. sphinx.so
파일 :
/usr/lib/php/extensions/no-debug-non-zts-20090626/sphinx.so
실제로는 다음과 같아야합니다.
/Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-20060613/
Sphinx.so 파일을 Mamp Extensions Dir에 복사하려고 시도했지만 Apache PHP를 다시 시작하면 다음 경고가 표시됩니다.
PHP Startup: Unable to load dynamic library '/Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-20060613/sphinx.so
MAMP가 32 비트이고 내장 된 PHP가 64 비트이므로 PECL이 64 비트를 준수하기 때문이라고 생각합니다. 나는 완전히 잘못되었을 수도 있지만 주제에 대해 고글 링했을 때 이것을 읽었습니다.
내장 버전 대신 PECL이 MAMP 버전의 PHP에 매핑하는 방법을 아는 사람이 있습니까?
해결책
""옳은"PHP의 버전은 같은 것으로 설치됩니다 /Applications/MAMP/bin/php5/
, 개발 도구가 포함되어 있으므로 일부 버전이 있어야합니다. pecl
해당 디렉토리 옆에있는 명령.
그렇다면 실행하십시오 pecl
당신의 "에 해당하는 명령"옳은"PHP의 버전은 도움이 될 것입니다. 옳은 버전 phpize
, 확장을 (다시 한 번) 맞습니다 PHP의 버전.
MAMP에 해당 명령이 포함되기를 바랍니다. - Mac이 없으므로 확인할 수 없습니다.