VLD(Vulcan Logic Dumper)是一个挂钩在Zend引擎下,并且输出PHP脚本生成的中间代码(执行单元)的扩展。它可以在一定程序上查看Zend引擎内部的一些实现原理,是我们学习PHP源码的必备良器。它的作者是Derick Rethans, 除了VLD扩展,我们常用的XDebug扩展的也有该牛人的身影。
VLD扩展是一个开源的项目,在这里可以下载到最新的版本,虽然最新版本的更新也是一年前的事了。作者没有提供编译好的扩展,Win下使用VC6.0编译生成dll文件。
*nix系统下直接configue,make,make install生成。如果遇到问题,请自行Google之。
看一个简单的例子,假如存在t.php文件,其内容如下:
$a = 10;echo $a;
在命令行下使用VLD扩展显示信息。
php -dvld.active=1 t.php
-dvld.active=1表示激活VLD扩展,使用VLD扩展输出中间代码,此命令在CMD中输出信息为: