Я отладки расширение PHP и нашел это время тыкать через исходный PHP код:Компиляция PHP с модифицированным уровнем DEBUG_ZEND
#if DEBUG_ZEND>=2
printf("Reducing refcount for %x (%x): %d->%d\n", *zval_ptr, zval_ptr, Z_REFCOUNT_PP(zval_ptr), Z_REFCOUNT_PP(zval_ptr) - 1);
#endif
Так что я хочу, чтобы скомпилировать с DEBUG_ZEND равным 2. В Zend/zend_compile.h
, я увидел :
#define DEBUG_ZEND 0
Я редактировал это значение равным 2 вместо, а затем попробовал обычный:
./configure --enable-debug
make
make
делает свое дело на какое-то время, но потом я вижу кучу Reducing refcount for ...
сообщений, а затем make
не удается:
make: *** [ext/phar/phar.phar] Error 255
Если установить DEBUG_ZEND
обратно в 0, PHP компилируется нормально. Единственное упоминание я мог найти, чтобы DEBUG_ZEND
был в этом сообщении об ошибке:
http://bugs.php.net/bug.php?id=45761
Этот фрагмент выглядел уместным:
Я реорганизованной путем добавления CFLAGS = «- DDEBUG_ZEND = 2» к началу команда конфигурирования, сделал «сделать чистую», то «сделать» ...
Поэтому я добавил CFLAGS="-DDEBUG_ZEND=2"
сразу после притона в configure
и был в состоянии собрать. Тем не менее, я не вижу дополнительного вывода о пересчетах при работе с моими сценариями, поэтому я не уверен, что он что-то сделал.
Каков правильный способ компиляции PHP с DEBUG_ZEND
установлен в 2?