MongoDB: PHP에서 드라이버를 로드할 수 없습니다.

MongoDB: PHP에서 드라이버를 로드할 수 없습니다.

만들려고 노력 중이야몽고-php-드라이버작업PHP 5.5.7~에OS X 10.9.1하지만 막다른 골목에 이르렀고, 찾을 수 있는 모든 것을 시도해 보았지만 아무것도 작동하지 않았습니다...

모든 것이 잘 컴파일되지만 PHP가 확장 기능을 로드하지 않고 정말 이상한 오류가 발생합니다.

Unable to load dynamic library '/usr/local/lib/php/extensions/no-debug-zts-20121212/mongo.so' - dlopen(/usr/local/lib/php/extensions/no-debug-zts-20121212/mongo.so, 9): Symbol not found: _core_globals
  Referenced from: /usr/local/lib/php/extensions/no-debug-zts-20121212/mongo.so
  Expected in: flat namespace
 in Unknown on line 0

스레드 안전성과 아키텍처 문제에 대해 확인했지만 모든 것이 괜찮습니다. 확장 프로그램과 PHP는 모두 스레드 안전하고 64비트입니다.

phpize또한 및 같은 바이너리에 문제가 있는지 확인했지만 php-config모든 것이 괜찮은 것 같습니다...

정말 무엇을 해야할지 모르겠습니다. 누구든지 단서가 있습니까?


가 지적한 바와 같이voretaq7그리고매드해터이것이 내가 한 일이다:

  1. PHP 5.5.7을 다운로드하고
    ./configure --with-apxs2=/usr/local/apache2/bin/apxs;
  2. 다운로드한주인mongo 드라이버의 브랜치를 다음과 같이 기본 구성으로 컴파일했습니다.지시받은;
  3. php.ini에 확장을 포함시켰습니다:
    extension = mongo.so;
  4. 실행했는데 php -v이전에 말한 이상한 오류가 발생했습니다.
  5. PHP와 드라이버가 64비트로 컴파일되고 있는지 확인했습니다.
  6. 1단계에서 이전에 설치한 것이 있는지 phpize확인 했습니다 .php-config
  7. 소리지르다젠장, 젠장그리고 도움을 요청했습니다.
  8. 1.4.5 드라이버 버전으로 시도해 볼 수 있다는 것을 깨달았습니다.쾅!완료되었습니다. 이제 모든 것이 작동합니다.

답변1

이 문제는 다음에서만 발생합니다.최신 버전.

방금 시도했습니다.1.4.5모든 것이 잘 진행되었습니다!

관련 정보