为什么安装的MongoDB驱动程序没有显示在phpinfo文件中


Why installed MongoDB driver is not shown in a phpinfo file?

我使用的是Ubuntu 12.04, PHP 5.5.13 (cli)和Apache/2.4.10。我安装了Mongodb 2.6.4。它工作得很好。然后我安装PHP-MongoDB驱动程序。它已经安装,但在phpinfo()中没有显示。当我用mongodb执行php文件时,我得到以下错误:

 PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20121212/mongo.so' - /usr/lib/php5/20121212/mongo.so: cannot open shared object file: No such file   or directory in Unknown on line 0
 [Sun Aug 24 11:48:39.403845 2014] [:error] [pid 3008] [client 127.0.0.1:58857] PHP Fatal error:  Class 'MongoClient' not found in /var/www/PHP/php-mongo/testingmongodb.php on line 3, referer: http://localhost/PHP/php-mongo/

我安装了PHP Mongodb驱动程序如下:

 sudo pecl install mongo

有两个php.ini所以我添加了

 extension=mongo.so
php.ini 中的

 /etc/php.ini
 /etc/php5/apache2/php.ini

然后,重启apache2

我也试过手动方式。

unzip php_mongo-1.5.1.zip
cd mongodb-php-driver
phpize
./configure
sudo make install

当执行php时,我得到了以下错误:

 Cannot find config.m4. 
 Make sure that you run '/usr/bin/phpize' in the top level source directory of the module

我还创建了一个文件/etc/php5/conf.d/mongo.ini,并添加了"extension=mongo. ini"。但是,仍然什么都没有发生。我不知道发生了什么。

如果您使用use CLI命令,您可能需要将Mongo驱动程序添加到CLI特定的php.ini:

echo "extension=mongo.so" >> /etc/php5/cli/php.ini

为信息,这是我如何安装Mongo和Mongo驱动程序(根据文档):

sudo -s
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
apt-get update
apt-get -y install mongodb-org
grep -q "extension=mongo.so" /etc/php5/apache2/php.ini || echo "extension=mongo.so" >> /etc/php5/apache2/php.ini
grep -q "extension=mongo.so" /etc/php5/cli/php.ini || echo "extension=mongo.so" >> /etc/php5/cli/php.ini && pecl install mongo
service apache2 restart