不能让MongoDB PHP扩展工作

时间:2013-06-25 00:25:39

标签: macos mongodb

我一直在按照本教程尝试安装PHP MongoDB扩展,但遗憾的是无法使其正常工作。

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

我一直在尝试几次,这可能就是我收到此消息的原因。但是,即使将“extension = mongo.so”添加到php.ini后,我也无法在我的PHP代码中使用MongoDB。

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

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

如果您浏览了installation docs,则会提示从extension_dir获取php -i,并确保该目录中存在mongo.so。如果您的Web环境有一个单独的php.ini文件,那么从php -i获取输出可能无济于事。您可能需要通过Web服务器查看phpinfo();输出,并检查那里的扩展目录。

PECL安装成功的另一个测试是尝试从CLI环境查看其中一个驱动程序类的反射信息。您可以使用php --rc MongoClient执行此操作,该{{1}}应打印有关MongoClient类的方法的信息。

答案 1 :(得分:0)

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

我卸载了php扩展,然后再次安装它并确保扩展名已经加载到php.ini

sudo pecl uninstall mongo
sudo pecl install mongo