복붙노트

[MONGODB] 동적 라이브러리 php_mongo.dll를로드 할 수 PHP 시작 할 수 없습니다

MONGODB

동적 라이브러리 php_mongo.dll를로드 할 수 PHP 시작 할 수 없습니다

나는 이것에 대한 초보자입니다. 나는 PHP에 MongoDB의 드라이버를 설치하려고 해요.

Platform: Windows 8.1 64bit.
PHP 5.5.9
Apache/2.4.7

여기 지시에 따라 : HTTP : //php.net/manual/en/mongo.installation.php#mongo.installation.windows

나는 VC11 모든 php_mongo.dll 파일을 시도하고 PHP / 내선 폴더에 넣었습니다. 과의 php.ini 파일의 확장자 = php_mongo.dll을 추가하지만 XAMPP 컨트롤러에 아파치를 시작하려고 할 때 나는 오류가 발생했습니다.

    Php Startup: Unable to load dynamic library
  'C:\xampp\php\ext\php_mongo.dll' -%1 is not a valid Win32 application.

86 : 나는 이미 내 VC 컴파일러 버전 내부에은 phpinfo ()과 건축과의 언급이 MSVC (11)을 확인했습니다.

누군가가 나를 도울 수 있다면 좋을 것이다. 감사. 를 주셔서 감사합니다.

해결법

  1. ==============================

    1.당신이 당신의 PHP 설치에 대한 올바른 .DLL를 다운로드합니다. 좋은 기회 당신은 아파치의 x86를 실행 그래서 86 php_mongo.dll를 다운로드하고 있습니다. 당신은 아파치 모듈로 PHP를 실행하는 경우 또한, 당신이 스레드 안전 (TS) 하나를 선택 또한 PHP 버전 당신에게있는 거 실행 일치하는 DLL의 유형을 선택합니다.

    당신이 당신의 PHP 설치에 대한 올바른 .DLL를 다운로드합니다. 좋은 기회 당신은 아파치의 x86를 실행 그래서 86 php_mongo.dll를 다운로드하고 있습니다. 당신은 아파치 모듈로 PHP를 실행하는 경우 또한, 당신이 스레드 안전 (TS) 하나를 선택 또한 PHP 버전 당신에게있는 거 실행 일치하는 DLL의 유형을 선택합니다.

    버전은 일치해야합니다 그렇지 않으면 당신은 PHP를 시작할 때 오류가 발생합니다. 여기에 이러한 몽고 DLL을 찾을 수 있습니다.

    그럼 이런 짓을 나는 오류가 발견되지 libsasl.dll 얻었다. 나는 단순히 (httpd.exe을 찾을 때) 아파치 설치 디렉토리에 내 PHP 설치 디렉토리에있는 libsasl.dll을 복사. 그럼 난 내 아파치를 다시 시작하고 일했다!

  2. ==============================

    2.2017 년이 인터넷 검색 사람의 경우, PECL 패키지가 업데이트되었습니다 지금 http://pecl.php.net/package/mongodb/1.2.9/windows에서 발견된다

    2017 년이 인터넷 검색 사람의 경우, PECL 패키지가 업데이트되었습니다 지금 http://pecl.php.net/package/mongodb/1.2.9/windows에서 발견된다

    및 사용

    extension=php_mongodb.dll 
    

    대신에:

    extension=php_mongo.dll
    
  3. ==============================

    3.복사 C : \ XAMPP \ PHP \ libsasl.dll C에 : \ XAMPP \ 아파치 \ 빈 \ 아파치를 다시 시작하고 즐길 수 있습니다.

    복사 C : \ XAMPP \ PHP \ libsasl.dll C에 : \ XAMPP \ 아파치 \ 빈 \ 아파치를 다시 시작하고 즐길 수 있습니다.

  4. ==============================

    4.당신은 여전히 ​​위를 수행 한 후 문제가있는 경우, 대신 이전 버전의 드라이버를 시도 할.

    당신은 여전히 ​​위를 수행 한 후 문제가있는 경우, 대신 이전 버전의 드라이버를 시도 할.

    즉 윈도우 8에 내 XAMPP / PHP 5.5에 나를 위해 일한 것입니다.

    이전 드라이버는 여기에서 찾을 수 있습니다 : https://s3.amazonaws.com/drivers.mongodb.org/php/index.html

    새로운 드라이버는 여기에서 찾을 수 있습니다 : http://pecl.php.net/package/mongo/1.5.5/windows

    또한 방문 할 수 있습니다 : https://serverfault.com/questions/563867/mongodb-unable-to-load-driver-on-php

  5. ==============================

    5.우리가 64 비트 지원 DLL 파일 64 비트 시스템을 사용하기 때문에 이것은 일반적이다. 그러나 WAMP / XAMPP 아키텍처는 32 비트 수 있습니다. 우리는 WAMP / XAMPP 아키텍처가 아닌 윈도우 아키텍처를 기반으로 사용해야합니다. 그래서, WAMP / XAMPP 아키텍처에 DLL 파일의 해당 버전을 찾아보십시오. 아래 링크의 솔루션은 나에게 마법처럼 일했다

    우리가 64 비트 지원 DLL 파일 64 비트 시스템을 사용하기 때문에 이것은 일반적이다. 그러나 WAMP / XAMPP 아키텍처는 32 비트 수 있습니다. 우리는 WAMP / XAMPP 아키텍처가 아닌 윈도우 아키텍처를 기반으로 사용해야합니다. 그래서, WAMP / XAMPP 아키텍처에 DLL 파일의 해당 버전을 찾아보십시오. 아래 링크의 솔루션은 나에게 마법처럼 일했다

    http://grokbase.com/t/gg/mongodb-user/151xpk3fkr/php-5-6-3-with-mongodb-driver-unable-to-load-dynamic-library-not-a-valid-win32-application

    이 링크는 WAMP / XAMPP 아키텍처를 찾는 데 도움이, https://stackoverflow.com/a/22454865/4874281

  6. ==============================

    6.로 이전 코멘트 XAMPP에 언급 된 모든 단계를 수행 한 후 "인 DLL"파일을로드 할 수 없습니다. 그냥 시스템 변수 경로로 환경 변수에 ".DLL"파일의 폴더 경로를 추가 할 수 있도록.

    로 이전 코멘트 XAMPP에 언급 된 모든 단계를 수행 한 후 "인 DLL"파일을로드 할 수 없습니다. 그냥 시스템 변수 경로로 환경 변수에 ".DLL"파일의 폴더 경로를 추가 할 수 있도록.

    나는이 같은 문제에 직면 한 후 시스템 변수 경로로 환경 변수에 ".DLL"파일의 폴더의 경로를 추가 한 후, 그것은했다. 그런 다음 파일을 찾을 수 있습니다.

    이 폴더에 존재하지만, ".DLL"파일을로드 XAMPP 정지 된 유일한 단계이었다 끝에. 명확하게 지적 곳이 더이기 때문에 종종 사람들은이 단계를 그리워.

  7. from https://stackoverflow.com/questions/25075616/php-startup-unable-to-load-dynamic-library-php-mongo-dll by cc-by-sa and MIT license