我试图使用rockmongo。安装后,我无法使用它。它说" 为了使事情正确,你必须安装php_mongo模块。这里是PHP.net上的安装文档。"
我已经通过sudo pecl install mongo
安装了mongoDB驱动程序扩展。
locate mongo
显示/usr/lib/php5/20090626+lfs/mongo.so
但是,php -v
显示的警告很少(我认为这与mongo有关)
PHP: syntax error, unexpected $end, expecting ']' in /etc/php5/cli/conf.d/mongodb.ini on line 3
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525+lfs/mongo.so' - /usr/lib/php5/20100525+lfs/mongo.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP 5.4.28-1+deb.sury.org~precise+1 (cli) (built: May 5 2014 09:39:26)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
我打开了/usr/lib/php5/
,发现还有另一个目录( 20090626 + lfs ),其中包含mongo.so。
我尝试了各种在线教程,但没有任何帮助。
修改:这是我的mongodb.ini
;----- start -----
extension=mongo.so
\[mongo\]
; If the driver should reconnect to mongo
mongo.auto_reconnect = true
; Whether to allow persistent connections
mongo.allow_persistent = On
; Maximum number of persistent connections (-1 means unlimited)
mongo.max_persistent = -1
; Maximum number of links (persistent and non-persistent, -1 means unlimited)
mongo.max_connections = -1
; Default host for mongo connection
mongo.default_host = www.example.com
; Default port for mongo database
mongo.default_port = 42
; When saving files to the database, size of chunks to split them into
mongo.chunk_size = 1024
; Specify an alternate character to $ to use for special db functions ($set, $push, $exists, etc.)
mongo.cmd = "$"
;----- end -----
答案 0 :(得分:7)
我使用 php 5 的1.1.9版mongodb驱动程序解决了这个问题。首先卸载当前版本的mongodb,然后安装1.1.9版本:
sudo pecl uninstall mongodb
sudo pecl install mongodb-1.1.9
composer update
答案 1 :(得分:5)
我的php版本是7.0,但它也应该运行5.x版本。
如果您在文件/etc/php/7.0/mods-available/mongo.ini
extension=mongodb.so
评论那条线。之后重新启动php,它应该可以工作。
答案 2 :(得分:1)
对我来说,这很好
sudo apt-get install php7.2-mongodb
更改您的php版本的“ 7.2”
答案 3 :(得分:0)
在mongodb.ini
中添加mongo.so扩展程序的完整路径:
extension=/usr/lib/php5/20090626+lfs/mongo.so
此外,[mongo]
应与非\[mongo\]
完全相同。
请勿忘记重新加载/重新启动网络服务器以加载新配置。
你可以检查一切正常:
php -i | grep mongo
答案 4 :(得分:0)
操作系统更新后,我在运行任何 PHP CLI 时遇到了类似的错误,只需运行“php -v”就产生了错误:
PHP 警告:PHP 启动:无法加载动态库 '/usr/lib/php/20131226/mongodb.so'
我检查了文件夹,发现文件“/usr/lib/php/20131226/mongodb.so”存在。所以,我只是对'/etc/php/5.6/cli/php.ini'文件中的“extension=mongo.so”行进行了评论。它解决了我的问题。
当检查 mongo --version 时,它工作正常。