У меня возникла странная проблема с gentoo. Расширение Mongodb отлично работает в apache2 и cli, но fpm не запускается: /etc/init.d/php-fpm restart * Тестирование конфигурации PHP FastCGI Process Manager ... [30-Jan-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
Вот информация из кли:
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
Я даже компилировал mongodb без sasl, но результат тот же. Расширение Mongodb было скомпилировано вручную следующим образом (моя система x86_64): git clone https://github.com/mongodb/mongo-php-driver.git cd mongo-php-driver; синхронизация подмодуля git && обновление подмодуля git --init
- Запустите phpize:
phpize --очистить phpize
- Удалите файл aclocal.m4:
кв.м. aclocal.m4
- Запустите aclocal и autoconf:
аклокал автоконф
- Теперь настройте, создайте и установите пакет:
./configure --without-mongodb_sasl (я пробовал с этим и без него) make make install
добавить extension=mongodb.so в php.ini: /etc/php/fpm-php7.0/php.ini перезапустить php-fpm: /etc/init.d/php-fpm перезапустить
Самое странное, что если я запускаю процесс php-fpm с gdb для отслеживания, расширения работают.
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)
Любая помощь приветствуется
zend_mm_heap corrupted
говорит мне об этом, этого никогда не должно происходить. - person Joe Watkins   schedule 31.01.2016