使用MongoDB Extension运行PHP失败(PHP 5.3.8,操作系统:Centos 5.4)

时间:2012-03-08 22:21:27

标签: php mongodb

我在运行PHP的MongoDB扩展时遇到问题

阅读本文末尾的解决方案

我使用3种不同的方法成功安装了它,但它没有在phpinfo()

中显示扩展名

1 - 在php.ini中使用pecl install mongo(它成功并要求我添加extension = mongo.so) 2 - 通过下载源编译它。 3 - 从yum安装php-pecl-mongo

所有方法都成功没有错误但是当我运行phpinfo时,我没有看到Mongo扩展加载,当我尝试调用它时要求安装扩展。

如何调试此问题(即我在哪里可以找到此类日志)

如何查找有关Mongo与PHP 5.3.8兼容性的信息?

这是我在安装结束时得到的结果:

注意:我确定我已将mongo.so文件复制到php的扩展路径,因为我正在使用同一目录中的其他扩展程序并且它们正在工作

Libraries have been installed in:
   /sources/mongo/mongodb-mongo-php-driver-d7c19b8/modules

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,--rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
Installing shared extensions:     /usr/local/lib/php/extensions/no-debug-non-zts                                                -20060613/
-bash-3.2# cp /usr/local/lib/php/extensions/no-debug-non-zts-20060613/mongo.so /  

已修复 - >问题是我的php api与PHP的版本不同,即php-devel / php5-devel需要更新。

2 个答案:

答案 0 :(得分:2)

手动编译模块时,必须将其复制到PHP知道在哪里查找自定义模块的路径。

从cli中,尝试以下命令:

php -i | fgrep -i configure

您应该看到如下选项:

--with-config-file-scan-dir=/bridge/to/nowhere

在编译模块之后,确保将模块从mongo源目录复制到/ bridge / to / nowhere目录,以便PHP可以将其拾取。

运气好的话,应该在你php -m时列出。

答案 1 :(得分:0)

如果将php.ini文件中的“extension=mongo.so”行更改为:

,会发生什么
extension=/usr/local/lib/php/extensions/no-debug-non-zts-20060613/mongo.so

当php启动时,它是否会产生任何错误消息?如果没有,请验证php -i |grep -e 'Loaded Configuration File'是否显示了预期的php.ini文件。

mongodb php扩展应该可以正常使用php v5.3.8(和php-fpm)。