2015-11-09 3 views
-1

Я пытаюсь подключиться к Mongolab серверу БД, но я получаю эту ошибку:MongoClient Не найдено соединение PHP mongolab

Fatal error: Class 'MongoClient' not found in /home/viviane/public_html/sk/zizi/head.php on line 33 

Я подозреваю, что это связано с драйвером PHP Монго, но я не знаю, как. Если я пытаюсь подключиться к удаленному серверу MongoDB

$uri = "mongodb://dzyasser:[email protected]:49624/serverdb"; 
$options = array("connectTimeoutMS" => 30000); 
    $connection = new MongoClient($uri, $options); 

Так почему я до сих пор получаю эту ошибку, когда я пытаюсь подключиться к удаленному серверу MongoDB (Mongolab)?

+0

Пытался улучшить грамматику и формулировку, все еще немного неясно. – Simon

ответ

0

Я предполагаю, что установлен и загружен драйвер Mongo.

Если это так, поскольку сообщение об ошибке говорит, что класс MongoClient не найден, это может быть вызвано пространством имен, используемым в вашем скрипте. Если это так, попробуйте

$connection = new \MongoClient($uri, $options); 
+0

По-прежнему та же ошибка:/ – DzYasser

0

Независимо от того, подключены ли вы локально или удаленно, кажется, PHP требует обслуживания DB Монго быть запущен на сервере. Так установить его так:

а) Установите MongoDB службу

$ sudo apt-get install -y mongodb 

б) Добавить драйверы PHP, если они отсутствуют:

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

с) Затем откройте файл php.ini и добавить к нему расширение линии "расширение = mongo.so":

$ sudo vi /etc/php5/apache2/php.ini 
> extension=mongo.so 

d) Затем перезапустите Apache

$ sudo service apache2 restart 

Отказ от ответственности: Этот пример был опробован на Ubuntu 14.04 LTS с веб-службой Apache и установленным PHP5. Если ваша установка отличается, выполните один и тот же подход, но выпустите соответствующие команды. Если у вас нет доступа к привилегии SSH или sudoer, обратитесь к кому-то, кто может вам помочь.

1

Похоже, у вас нет встроенного расширения MongoDB PHP в вашей системе.

Попробуйте установить расширение MongoDB PHP, чтобы решить ваши проблемы с классом MongoClient. Это, как я настройка MongoDB PHP расширение в OS X.

  1. Получить расширение MongoDB из PECL

    $ sudo pecl install mongodb

  2. Сделайте копию php.ini.default

    $ sudo cp /etc/php.ini.default /etc/php.ini

  3. Put эта строка на php.ини чем сохранить

    extension=mongodb.so

  4. Проверьте установку с помощью этой команды

    php --re mongodb

  5. Или создать простой PHP документ, который содержит функцию

phpinfo() Если вы получите проблему с написания расширение, пожалуйста, прочтите это post.

+0

Хотя эта ссылка может ответить на вопрос, лучше включить основные части ответа здесь и предоставить ссылку для справки. Ответные ссылки могут стать недействительными, если связанная страница изменится. - [Из обзора] (/ review/low-quality-posts/11215640) – CollinD

+1

Я обновил свой ответ, спасибо @CollinD – affhendrawan

Смежные вопросы