PHP 无法加载动态库 (mongo.so)

2022-08-30 21:09:29

我试图使用摇滚蒙戈。安装后,我无法使用它。它说:“要把事情做好,你必须安装php_mongo模块。此处为 PHP.net 安装文档。"

我已经通过安装了mongoDB驱动程序扩展。sudo pecl install mongo

locate mongo显示/usr/lib/php5/20090626+lfs/mongo.so

但是,显示很少的警告(我认为这与mongo有关)php -v

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

我打开并发现还有另一个目录(20090626 + lfs)包含 mongo.so。/usr/lib/php5/

我尝试了各种在线教程,但没有任何帮助。

编辑:这是我的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 -----

答案 1

我使用php 5的1.1.9版本的mongodb驱动程序解决了这个问题。首先卸载当前版本的mongodb,然后安装1.1.9版本:

sudo pecl uninstall mongodb
sudo pecl install mongodb-1.1.9
composer update

答案 2

我的php版本是7.0,但它也应该适用于5.x版本。

如果文件中有此内容/etc/php/7.0/mods-available/mongo.ini

extension=mongodb.so

注释该行。之后,重新启动php,它应该可以工作。


推荐