C uygulanmasına php yerleşik işlevleri dönüştürmek için bir araç var mı?

2 Cevap php

Ben fonksiyonları bazı yerleşik nasıl uygulandığını merak ediyorum, ancak bu otomatik bir araç var, çok zaman kaynağında doğrudan aramak için alıcı var?

EDIT

Ya da aslında idam ediyor c koduna debug bir araç var mı?

2 Cevap

PHP erişilebilen işlevleri (tüm?) En PHP kaynak kodu ext / dizini altında tanımlanır. Eğer bir özyinelemeli arama aracı varsa, PHP_FUNCTION aramak - bir metin dosyasına bu arama sonuçlarını kaydedilmiş, eğer bir PHP yerleşik tanımlanır nerede sergiyi için oldukça iyi bir "index" olacaktır.

Gerçekten çekirdek malzeme ext / standardında olduğunu.

Bazı nadir "fonksiyonlar" PHP derler Zend sanal makinede opcodes doğrudan uygulanan, bu yüzden gibi iyi tanımlanmış bir C fonksiyonu yoktur vardır. I strlen Örneğin, bu tür bir fonksiyonu olduğunu düşünüyorum.

Hata ayıklama hakkında idam ediyor C kodu, ben dbg gibi bir şey kullanmak mümkündür herhalde; Eğer ilk olsa, --enable-debug modunda PHP derlemek zorunda olacak.

Daha fazla bilgi almak için, sen de bir göz atabilirsiniz:


I've never used this to debug PHP itself, but I've used those two pages to generate some backtraces of a crash I had with an extension, and it worked OK, from what I remember.


As a sidenote : using a PHP compiled with --enable-debug, you might have to recompile some of the extensions you're using and change the way they're loaded (it's the case for Xdebug, for instance) ; and some other might just not work at all anymore.