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


Я использую Ubuntu 13.10 (дерзкая саламандра), и я надеялся, что 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 не включен. Я использую изображение докера "ubuntu:saucy" в качестве своей базы, и я думаю, что по умолчанию оно включает вселенную.

Author: Tom, 2014-03-17

4 answers

В Ubuntu 14.04 sudo apt-get install php5-mongo приводит к полностью работающему расширению PHP mongo. Поэтому я предполагаю, что в 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
 35
Author: Tom, 2014-12-11 14:05:19

Проще всего установить драйвер MongoDB для php5 в ubuntu с помощью команды:

sudo apt-get install php5-mongo

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

sudo service apache2 restart
 33
Author: Yassine Khachlek, 2016-02-11 13:44:23

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

open synaptic package manager and search "mongo"

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

  • php-орда-монго
  • php-монго

synaptic package manager

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

Теперь перезапустите 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

 3
Author: Hafiz Shehbaz Ali, 2015-12-10 19:31:20

Похоже, это проблема упаковки в Ubuntu.

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

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

 2
Author: bjori, 2014-04-08 22:06:50