将PHP更新到5.3后无法获取mongo.so扩展

前端之家收集整理的这篇文章主要介绍了将PHP更新到5.3后无法获取mongo.so扩展前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在Debian Lenny x64上安装了MongoDB的 PHP 5.2,一切都很好.

PHP更新到5.3(dotdeb)之后我无法使MongoDB工作,我总是收到错误

Fatal error: Class 'Mongo' not found (...)

其他一切正常,所有默认模块都正常工作.

我的PHP.ini:

extension_dir = "/usr/lib/PHP5/20090626"
extension=mongo.so

Mongo.so与上面所写的位置相同.
但是当我在控制台中运行PHP -m来检查加载的模块时,那里没有列出“mongo”.

我不能使用dl(‘mongo.so’)在运行时加载模块,因为在PHP 5.3中不推荐使用此函数.

可能是我应该以某种方式重新编译mongo,我只是不知道该怎么做,因为我在* nix命令中不是很好.

谢谢你的帮助!

UPDATE
也许值得一提之前,我的mongo.so在/usr/lib / PHP5 / 20060613之前,我手动将其复制到“/usr/lib / PHP5 / 20090626”,因为似乎在更新我的PHP后所有模块都位于那里.

扩展模块api在PHP5.2和PHP5.3之间发生了变化.当PHP尝试加载扩展模块时,双方都必须“呈现”一个识别api版本的api魔术密钥.如果这些数字不匹配,则不加载/激活模块.

再次尝试sudo pecl install mongo以获得适合您的新PHP版本的扩展模块.

猜你在找的PHP相关文章