我使用的是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