admin | 网络闲聊 | 八月 9th, 2007 | No Comments »
Vulcan Logic Disassembler
The Vulcan Logic Disassembler hooks into the Zend Engine and dumps all the opcodes (execution units) of a script. It was written as as a beginning of an encoder, but I never got the time for that. It can be used to see what is going on in the Zend Engine.
New Features in 0.8
PHP 5.0 / PHP 5.1 support.
vld will only show opcodes if the setting vld.active is set to 1.
New Features in 0.6
Class methods info is only dumped if they contain some user defined functions.
Clean up the framework for better opcode display.
Print extended value for function calls (# of args in that case).
Op code elements are only printed when they are actually used.
Download and Installation Instructions
The extension is not totally finished yet, but it works fine for me. If you have questions, feel free to send me an e-mail (but read this first) at derick at php dot net. If you like this piece of software, feel free to checkout my wishlist or Andrei’s. This improves chances that we will be continuing developing VLD.
You can download the source here or get it from CVS. The CVS root is “[email protected]:/repository”, the module is “vle” (not “vld”) and the password is “srmread”.
It’s not hard to use this extension, but it might not work with all PHP versions. Here are the instructions to get it to work:
Unpack the tarball: tar -xzf vld-0.8.0.tgz.
cd into the newly created directory.
Create the configure script: phpize
Now run “./configure” followed by “make install”.
That’s it, if you now run PHP from the command line and add the -dvld.active=1 parameter VLD will spit out the opcodes:
php -dvld.active=1 program.php
#tar -xzf vld-0.8.0.tgz //解压
#mv vld-0.8.0 vld //重命名
#cd -R vld ../php-4.3.8/ext //拷贝vld目录到php的解压目录下的ext中
#rm configure //删除configure,因为下面的buildconf会重新生成新的configure
#./configure –with-mysql –with-apxs2=/usr/www/bin/apxs –enable-vld 重新检查php
#make install 安装
你必须 登录 才能发表评论.