将php升级到5.4.10后无法运行mongo.so

时间:2014-01-02 20:16:07

标签: php mongodb ubuntu

使用mongo查看php页面时出现此错误:“Mongo无法加载”

我的命令行说:

/usr/lib/php5/20100525# php -i | fgrep -i configure
PHP Warning:  PHP Startup: mongo: Unable to initialize module
Module compiled with module API=20090626
PHP    compiled with module API=20100525
These options need to match
 in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626/mongo.so' - /usr/lib/php5/20090626/mongo.so: cannot open shared object file: No such file or directory in Unknown on line 0

所以我确保2009062620100525目录都有mongo.so并重新启动apache但它仍然不能正常工作。我很困惑。我试过没有运气重新安装。

编辑:

我确保两个目录都有相同的扩展名,现在我明白了:

PHP Warning:  PHP Startup: mongo: Unable to initialize module
Module compiled with module API=20090626
PHP    compiled with module API=20100525
These options need to match
 in Unknown on line 0
PHP Warning:  PHP Startup: mongo: Unable to initialize module
Module compiled with module API=20090626
PHP    compiled with module API=20100525
These options need to match
 in Unknown on line 0
root@ip-172-31-16-45:/usr/lib/php5# 

1 个答案:

答案 0 :(得分:5)

如果您升级了PHP二进制文件,则需要重新编译MongoDB驱动程序。注意PHP开发头文件(例如Ubuntu上的php5-dev包)应该与PHP二进制文件相匹配(关于你只更新二进制文件而不是开发文件的机会)。假设您使用了PECL,以下应重新编译驱动程序:

$ sudo pecl install -f mongo