1
votes

I am heaving a strange problem under gentoo. Mongodb extension is working fine in apache2 and cli, but fpm fails to start: /etc/init.d/php-fpm restart * Testing PHP FastCGI Process Manager configuration ... [30-Jan-2016 13:59:47] NOTICE: configuration file /etc/php/fpm-php7.0/php-fpm.conf test is successful

zend_mm_heap corrupted [ !! ]

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

Here is the info from 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

I even compiled mongodb without sasl but the result is the same. Mongodb extension was manually compiled like this(my system is x86_64): git clone https://github.com/mongodb/mongo-php-driver.git cd mongo-php-driver; git submodule sync && git submodule update --init

  • Run phpize:

phpize --clean phpize

  • Remove the aclocal.m4 file:

rm aclocal.m4

  • Run aclocal and autoconf:

aclocal autoconf

  • Now configure, make and install the package:

./configure --without-mongodb_sasl (i tried with and without this) make make install

add extension=mongodb.so in php.ini: /etc/php/fpm-php7.0/php.ini restart php-fpm: /etc/init.d/php-fpm restart

The strangest thing is that if i start php-fpm process with gdb to backtrace the extensions works.

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)

Any help is apreciated

1
The best thing to do is open an issue on github; PHP 7 and the mongodb support for it are very immature, it must be the case that you have discovered some bug, rather than you have a configuration issue. The error zend_mm_heap corrupted tells me as much, this should never occur.Joe Watkins
Thank you for your answer. I already did this yesterday: github.com/mongodb/mongo-php-driver/issues/212 but no answer yet.Andrei Nastasa

1 Answers

0
votes

For the sake of the lazy googler, this is fixed in version 1.1.5 of the php-mongodb-driver