Easiest way to install Mongodb PHP extension in Ubuntu 13.10 (saucy)?

Tom picture Tom · Mar 17, 2014 · Viewed 41.3k times · Source

I'm using Ubuntu 13.10 (saucy salamander) and I was hoping that sudo apt-get install php5-mongo would be enough to get the mongodb database driver installed.

No such luck though. I'm using php5-fpm, so firstly I found I also needed to do php5enmod mongo but even with that, I get a error:

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

Instead, to install I have to do the following (which uses a lot more disk space):

 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

My question is why isn't sudo apt-get install php5-mongo enough? Is it a problem with the Ubuntu repo? How can I look into the ubuntu repositories and find what version it uses or why MongoClient.php isn't included. I'm using the "ubuntu:saucy" docker image as my base and it includes universe by default I think.

Answer

Tom picture Tom · May 1, 2014

In Ubuntu 14.04, sudo apt-get install php5-mongo results in a fully working mongo PHP extension. So I guess there is just a packaging problem in Ubuntu 13.10 which causes the problem.

Solution: Use Ubuntu 14.04 LTS instead of Ubuntu 13.10.

But, if you have to use Ubuntu 13.10, don't use the php5-mongo Ubuntu package, instead install the mongo extension via 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