我使用的是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
在排除phpize时,我收到以下错误:
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.so”,但仍然没有发生任何事情。我无法弄清楚发生了什么。请帮助我。
答案 0 :(得分:0)
如果使用CLI命令,则可能需要将Mongo驱动程序添加到cli特定的php.ini中:
echo "extension=mongo.so" >> /etc/php5/cli/php.ini
有关信息,以下是我安装Mongo和mongo驱动程序的方法(根据the doc):
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