我在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版本的扩展模块.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。