Ben bir PHP uzantısı hata ayıklama ve bu süre PHP kaynak kodu ile alay bulundu ediyorum:
#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
Yani 2 set DEBUG_ZEND ile derlemek istiyorsanız Zend/zend_compile.h
, gördüm de.:
#define DEBUG_ZEND 0
Bunun yerine 2 olduğu bu değeri düzenlenmiş ve her zamanki çalıştı:
./configure --enable-debug
make
make
bir süre için onun şeyi yapar, ama sonra Reducing refcount for ...
mesajları ve ardından make
başarısız bir sürü bakın:
make: *** [ext/phar/phar.phar] Error 255
I DEBUG_ZEND
geri 0'a ayarlanırsa, PHP iyi derler. Ben bulabildiğim tek referans DEBUG_ZEND
bu hata raporu oldu:
http://bugs.php.net/bug.php?id=45761
Bu pasajı ilgili baktı:
Ben configure komutunun başlamasından CFLAGS = "-DDEBUG_ZEND = 2" ekleyerek yeniden, bir daha sonra 'yapmak', 'make clean' yaptı ...
Yani sağ configure
olarak shebang sonra CFLAGS="-DDEBUG_ZEND=2"
eklenmiş ve derlemek başardı. Ancak, benim komut çalıştırırken refcounts hakkında herhangi bir ekstra çıkışını görmek ddin't, bu yüzden bir şey yaptım, gerçekten ikna olmuş değilim.
DEBUG_ZEND
2'ye set ile PHP derleme doğru yolu nedir?