Подтвердить что ты не робот

Самый простой способ установить расширение Mongodb PHP в Ubuntu 13.10 (saucy)?

Я использую Ubuntu 13.10 (saucy salamander), и я надеялся, что sudo apt-get install php5-mongo будет достаточно, чтобы установить драйвер базы данных mongodb.

Нет такой удачи. Я использую php5-fpm, поэтому, во-первых, я нашел, что мне также нужно было сделать php5enmod mongo, но даже с этим я получаю сообщение об ошибке:

include(MongoClient.php): failed to open stream: No such file or directory

Вместо этого, чтобы установить, я должен сделать следующее (которое использует намного больше дискового пространства):

 sudo apt-get install php5-dev make php-pear
 sudo pecl install mongo
 sudo echo "extension=mongo.so" | tee /etc/php5/mods-available/mongo.ini

Мой вопрос в том, почему недостаточно sudo apt-get install php5-mongo? Это проблема с репо Ubuntu? Как я могу посмотреть в репозитории ubuntu и найти, какую версию он использует, или почему MongoClient.php не включен. Я использую образ docker "ubuntu:saucy" в качестве моей базы, и по умолчанию я думаю, что он включает юниверс.

4b9b3361

Ответ 1

В Ubuntu 14.04, sudo apt-get install php5-mongo получается полностью работающее расширение PHP-монго. Поэтому я думаю, что в Ubuntu 13.10 есть проблема с упаковкой, которая вызывает проблему.

Решение: используйте Ubuntu 14.04 LTS вместо Ubuntu 13.10.

Но если вам нужно использовать Ubuntu 13.10, не используйте пакет php5-mongo Ubuntu, вместо этого установите расширение mongo через pecl:

sudo apt-get install php5-dev make php-pear
sudo pecl install mongo
sudo echo "extension=mongo.so" | sudo tee /etc/php5/mods-available/mongo.ini

Ответ 2

Самый простой в установке драйвер mongoDB для php5 в ubuntu - это команда:

sudo apt-get install php5-mongo

Внимание, драйвер правильно установлен, но еще не загружен, поэтому он должен полностью перезапустить сервер, если использовать apache:

sudo service apache2 restart

Ответ 3

Существует также хороший способ установки mongo DB для PHP. У меня есть ubuntu 14.04LTS.

open synaptic package manager and search "mongo"

выберите эти пакеты для установки.

  • PHP-орда-Монго
  • PHP-Монго

диспетчер синаптических пакетов

Нажмите, чтобы установить пакеты.

Теперь перезапустите apache2 с помощью этой команды.

sudo service apache2 restart

Протестируйте манго

создайте файл PHP с именем mongo-test.php и вставьте этот код там.

<?php
   // connect to mongodb
   $m = new MongoClient();

   echo "Connection to database successfully";
   // select a database
   $db = $m->mydb;

   echo "Database mydb selected";
?>

проверить этот URL http://localhost/mongo-test.php

Ответ 4

Это похоже на проблему с упаковкой в ​​Ubuntu.

Вы установили PHP5-fpm через apt-get тоже? Похоже, существует разрыв между установкой PHP5 и файлом php.ini, который пытается обновить пакет php5-mongo.

Что касается ошибки include(MongoClient.php): failed to open stream; это из-за вашего автозагрузчика. Когда вы выполняете new MongoClient, когда расширение не включено, оно попадает на вашу автозагрузку, которая пытается включить файл с именем <classname>.php