복붙노트

[MONGODB] 찾을 수없는 클래스 'MongoClient'

MONGODB

찾을 수없는 클래스 'MongoClient'

이 코드 실행을 만들려고 노력 해요 :

<?php

$m = new MongoClient("mongodb://54.72.237.242"); 
$db = $m->tilbud; 

?>

매번 저도 같은 오류가 발생했습니다 :

Fatal error: Class 'MongoClient' not found in C:\xampp\htdocs\conexion.php

나는 하루 종일이 문제에 대해 읽어 봤는데 아무것도하지만 (나는 그것의 뭔가 내가 잘못하고 있어요 추측) 내 문제를 해결합니다.

나는 내가 XAMPP / PHP / 내선에 복사하고 난 php.ini 파일 아카이브에서 확장 = php_mongo.dll 추가의 php_mongo.dll 다운로드.

나는 확실히 내가 사용이있는 사람이 아니에요 때문에 4 개 개의 DLL의를 추가했습니다 :

이제 하나가 아닌 5 경고를 받고 메신저. 마지막에 나는 그들 중 하나가 작동합니다 내가 다른 4 삭제됩니다 같아요.

상황이 내가 노력하고 내가 확신가 확인된다 :

더 나는 무엇을 시도 할 수 있습니다?

편집하다

나는 시도

그것은 항상 '로드되지'라고.

편집하다

마지막으로! 문제는 DLL의 이름이었다. 그것은 'php_mongo.dll'이어야하고 나는이 글의 시작에서 말했듯이 전체 이름의 DLL을로드하려고했습니다. 나는 확장 = php_mongo.dll 봐라 저 (확장 = php_mongo-1.5.4-5.5-VC11)에 대한 올바른 DLL을 변경 그래서!

해결법

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

    1.당신은 설치하지 않은 MongoDB를 PHP 드라이버가이 링크 http://www.php.net/manual/en/mongo.installation.php를 참조하십시오

    당신은 설치하지 않은 MongoDB를 PHP 드라이버가이 링크 http://www.php.net/manual/en/mongo.installation.php를 참조하십시오

    업데이트 소스

    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
    echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
    sudo apt-get update
    

    MongoDB를 PHP 드라이버 설치

    sudo apt-get install php5-dev php5-cli php-pear -y
    sudo pecl install mongo
    

    당신의 php.ini 파일을 열고 추가 :

    extension=mongo.so
    

    다시 시작 아파치

    sudo /etc/init.d/apache2 restart
    

    기타 도움이 정보 :

    이것은 당신의 php.ini 파일을 찾아 도움 :

    php -i | grep 'Configuration File'
    

    우분투는이 보여줍니다

    Configuration File (php.ini) Path => /etc/php5/cli
    Loaded Configuration File => /etc/php5/cli/php.ini
    

    그래서 당신의 진정한 php.ini 파일에 대한 CLI 대신 아파치 폴더로 이동하면 CLI (명령 행)에서이 명령을 실행하는 것이, 메모를 취할 :)

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

    2.설치 PHP 7이 페이지에 도착하는 사람들을 위해 :

    설치 PHP 7이 페이지에 도착하는 사람들을 위해 :

    MongoCLient 클래스는 PECL 설치 몽고에 의해 제공되었다. 그러나 PECL / 몽고는 php7 사용할 수 및 PECL / MongoDB를 위해 삭제되지 않습니다. 그러나 PECL로 / 대신 MongoClient의 MongoDB를 \ 드라이버 \ 관리자를 사용해야합니다 MongoDB를 (페이지에 경고도 그렇게 말한다).

    추가 읽기 여기를 참조하십시오.

    이것은 당신이 PHP MongoDB를 \ 드라이버 \ 관리자의 상단에 추상화 계층이 필요합니다 말했다. 이것은 MongoDB를 / 몽고-PHP 라이브러리에 의해 제공됩니다.

    당신은 같은 물건을 리팩토링해야합니다 :

  3. ==============================

    3.같은 오류가 지금은 해결합니다. 나는 리눅스 민트를 사용하고 있습니다. 내가 확장 = 두 개의 디렉토리에 mongo.so 추가 된이 문제를 해결하려면

    같은 오류가 지금은 해결합니다. 나는 리눅스 민트를 사용하고 있습니다. 내가 확장 = 두 개의 디렉토리에 mongo.so 추가 된이 문제를 해결하려면

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

    4.드라이버를 설치, 나는 예를 들어 php5.6 위해 가지고 :

    드라이버를 설치, 나는 예를 들어 php5.6 위해 가지고 :

    sudo apt-get install php5.6-mongo
    
  5. ==============================

    5.대답은 지침에 따라 참이다. 나는 매우 중요한 새로운 MongoDB의 오브젝트를 작성하기 전에 와야 라인을 필요로 실종됐다 :

    대답은 지침에 따라 참이다. 나는 매우 중요한 새로운 MongoDB의 오브젝트를 작성하기 전에 와야 라인을 필요로 실종됐다 :

    <?php
    
    require 'vendor/autoload.php';
    
    $client = new MongoDB\Client("mongodb://localhost:27017");
    

    물론 당신은 지시에 따라 프로젝트의 루트에이 명령을 실행해야합니다 :

    composer require mongodb/mongodb
    
  6. ==============================

    6.이 페이지에서 :

    이 페이지에서 :

    참고 : Windows 사용자를위한 추가 DLL의 종속성을 :

    작업이 확장 위해서는, Windows 시스템 PATH에 사용할 수 있어야 DLL 파일이 있습니다

  7. ==============================

    7.버전이 다음 사용 가능한 DLL 버전에 따라 XAMPP의 PHP를 업데이트 동일하지 않을 경우 PHP 버전과 DLL 파일 버전이 같은 검사를해야한다.

    버전이 다음 사용 가능한 DLL 버전에 따라 XAMPP의 PHP를 업데이트 동일하지 않을 경우 PHP 버전과 DLL 파일 버전이 같은 검사를해야한다.

  8. from https://stackoverflow.com/questions/24533938/class-mongoclient-not-found by cc-by-sa and MIT license