Mongodb 扩展 1.1.2/1.1.3-dev 上的 Segfault 与 gentoo 下的 PHP 7 FPM



我在gentoo下提出了一个奇怪的问题。Mongodb 扩展在 apache2 和 cli 中运行良好,但 fpm 无法启动:/etc/init.d/php-fpm restart * 测试PHP FastCGI进程管理器配置...[30-一月-2016 13:59:47]注意:配置文件/etc/php/fpm-php7.0/php-fpm.conf 测试成功

zend_mm_heap损坏了 [ !! ]

php -v
PHP 7.0.2-pl5-gentoo (cli) (built: Jan 30 2016 13:16:21) ( ZTS )
Copyright (c) 1997-2015 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies

以下是来自 cli 的信息:

php -i|grep mongo
mongodb
mongodb support => enabled
mongodb version => 1.1.3-dev
mongodb stability => devel
libmongoc version => 1.3.1-dev
mongodb.debug => no value => no value

我什至在没有 sasl 的情况下编译了 mongodb,但结果是一样的。Mongodb 扩展是这样手动编译的(我的系统是x86_64(:git 克隆 https://github.com/mongodb/mongo-php-driver.gitCD mongo-php-driver;git 子模块同步 &&&git 子模块更新 --init

  • 运行phpize:

菲比兹--清洁菲比兹

  • 删除 aclocal.m4 文件:

RM aclocal.m4

  • 运行本地和自动会议:

阿克本地自动会议

  • 现在配置、制作和安装软件包:

./配置 --没有mongodb_sasl(我试过有和没有这个(做进行安装

在 php.ini 中添加 extension=mongodb.so:/etc/php/fpm-php7.0/php.ini重新启动 php-fpm:/etc/init.d/php-fpm restart

最奇怪的是,如果我使用 gdb 启动 php-fpm 进程来回溯扩展工作。

gdb -q /usr/lib/php7.0/bin/php-fpm
Reading symbols from /usr/lib/php7.0/bin/php-fpm...(no debugging symbols found)...done.
(gdb) set args --pid /run/php-fpm.pid --fpm-config /etc/php/fpm-php7.0/php-fpm.conf -c /etc/php/fpm-php7.0/
(gdb) run
Starting program: /usr/lib64/php7.0/bin/php-fpm --pid /run/php-fpm.pid --fpm-config /etc/php/fpm-php7.0/php-fpm.conf -c /etc/php/fpm-php7.0/
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[Inferior 1 (process 4075) exited normally]
(gdb)

任何帮助都值得赞赏

为了懒惰的谷歌用户,这在 php-mongodb-driver 的 1.1.5 版本中得到了修复

最新更新