在Ubuntu 13.10(saucy)中安装Mongodb PHP扩展的最简单方法?

时间:2014-03-17 15:58:04

标签: php mongodb ubuntu-13.10

我正在使用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不包括在内。我正在使用" ubuntu:saucy"我认为docker image是我的基础,它默认包含了Universe。

4 个答案:

答案 0 :(得分:35)

在Ubuntu 14.04中,sudo apt-get install php5-mongo导致完全正常的mongo PHP扩展。所以我猜Ubuntu 13.10中只有一个打包问题会导致问题。

解决方案:使用Ubuntu 14.04 LTS而不是Ubuntu 13.10。

但是,如果 使用Ubuntu 13.10,请不要使用php5-mongo Ubuntu软件包,而是通过pecl安装mongo扩展:

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

答案 1 :(得分:34)

在ubuntu中最容易安装php5的mongoDB驱动程序是使用以下命令:

sudo apt-get install php5-mongo

注意,驱动程序已正确安装但尚未加载,因此如果使用apache,应该绝对重新启动服务器:

sudo service apache2 restart

答案 2 :(得分:3)

还有一种很好的方法来安装mongo DB for PHP。我有ubuntu 14.04LTS。

open synaptic package manager and search "mongo"

选择要安装的这些包。

  • PHP-定住-蒙戈
  • PHP-蒙戈

synaptic package manager

单击“应用”以安装软件包。

现在使用此命令重启apache2。

sudo service apache2 restart

测试mongo

使用名称mongo-test.php创建PHP文件并在此处粘贴此代码。

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

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

   echo "Database mydb selected";
?>

测试此网址http://localhost/mongo-test.php

答案 3 :(得分:2)

这似乎是Ubuntu中的打包问题。

您是否也通过apt-get安装了PHP5-fpm?看起来PHP5的安装方式与php5-mongo软件包试图更新的php.ini文件之间存在脱节。

至于include(MongoClient.php): failed to open stream错误;这是因为你的自动加载器。 如果您在未启用扩展程序时执行new MongoClient,则会点击自动加载,并尝试包含名为<classname>.php的文件