我对Zend PHP做了一些黑客攻击.我发现它是overly clever,有些人甚至称之为deliberately obfuscated in plain view.PHP的源代码是一种思维改变(或破坏)的内容,取决于你在解密非常神秘的宏方面有多好.这是我对核心的印象.
但是,一旦你掌握了Zend助手,编写扩展就变得轻而易举了,大多数拥有C语言初级/中级知识的人都可以通过基本的扩展.还有很多例子.PHP最好的部分之一就是构建系统的组织方式,新内容的删除相对简单.只需一点点工作和耐心,几乎任何C库都可以轻松扩展到PHP.
如果你不熟悉C(以及与预处理器的滥用有什么区别),那么浏览一下PHP核心并不会给你太多的洞察力,如果你正在学习C语言,那么引用它也不是一件好事.拥有.
继续:
不要让任何我说过的话,或者其他任何人都不要说阻止你抓住代码并寻找自己.话虽如此,至于调试:
Valgrind(除非你使用很多抑制)并不是很有帮助.PHP(据我所知)使用arch优化读取,类似于新版本的glibc.即即使它只吞下8位和尾随NULL,它也会读取32位.
我从未发现GDB对PHP非常有帮助.许多神奇的东西都是非常难以追踪的宏.
您将很快看到Zend错误记录功能及其断言版本.使用这些,printf()调试几乎没用,除非您调试CLI应用程序.
垃圾收集可以让你在使用像valgrind的地块这样的工具时看到奇怪的东西.PHP中的分析堆使用是一项我还没有发现的艺术.
最后,我想说看到有人在他们的语言下看看总是很好.所以可以使用一些有助于解密PHP内核的问题,所以请随时发布更多内容:)
另外,请记住,Zend不是唯一一个制作 php的伪造品.虽然如果你希望它与Zend的兼容性是最重要的,那么每个人仍然可以自由地做自己的事情.