2013-06-25 78 views
0

我一直在关注本教程以尝试安装PHP MongoDB扩展,但不幸的是无法使其工作。不能让MongoDB PHP扩展工作

http://www.marcwitteveen.com/tech/mac/installing-mongodb-on-a-mac-so-you-can-access-it-with-php/

我可以访问集合终端,数据库安装正确,但我没能得到推广工作。

我有以下问题:

Sinan-MBP:mongo-php-driver-master Sinan$ cd 
Sinan-MBP:~ Sinan$ sudo pecl install mongo 
pecl/mongo is already installed and is the same as the released version 1.4.1 
install failed 

我一直在试图让这可能是为什么我得到这个消息几次。但是,即使在php.ini中添加了“extension = mongo.so”,我也无法在我的PHP代码中使用MongoDB。

谢谢你的帮助。

+0

请告诉我PHP -i的输出| grep mongo – daveh

+0

什么都没有,实际上没有输出 – Sinan

回答

0

我不知道为什么它不起作用,但昨晚我找到了一个解决方法。

我卸载了PHP扩展,然后重新安装它并确保扩展加载在php.ini

sudo pecl uninstall mongo 
sudo pecl install mongo 
2

这可能是为环境修改错误的php.ini或PHP无法在其目录中找到mongo.so的情况。如果您有针对CLI和Web环境的单独php.ini文件,PECL可能已将编译的扩展安装到其他目​​录。

如果您运行的是installation docs,则会有指示从php -i中刷新extension_dir并确保mongo.so存在于该目录中。如果您的Web环境有单独的php.ini文件,则从php -i进行grepping输出可能无济于事。您可能需要通过您的Web服务器查看phpinfo();输出,并检查那里的扩展目录。

PECL安装成功的另一个测试是试图从CLI环境中查看其中一个驱动程序类的反射信息。你可以用php --rc MongoClient这样做,它应该打印MongoClient类的方法信息。

+0

谢谢你的回答。我不认为我正在修改错误的php.ini,这可能是与扩展安装有关的问题 – Sinan