打印

[軟件] Zend 廢了!!!

Zend 廢了!!!

引用:
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:

   1. Unpack the tarball: tar -xzf vld-0.8.0.tgz.
   2. cd into the newly created directory.
   3. Create the configure script: phpize
   4. 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
引用:
Download:http://pecl.php.net/package/vld/0.8.0

Source:Derick Rethans

補充:

   1. #tar -xzf vld-0.6.0.tgz //解壓壓
   2. #mv vld-0.6.0 vld    //重命名
   3. #cd -R vld ../php-4.3.8/ext    //拷貝vld目錄到php的解壓目錄下的ext中
   4. #cd php-4.3.8   
   5. #rm configure    //删除configure,因身下面的buildconf會重新生成新的configure
   6. #./buildconf    //如果出現錯誤,就按提示加上相應的參數.
   7. #./configure --with-mysql --with-apxs2=/usr/www/bin/apxs --enable-vld    重新检查php
   8. #make    编譯
   9. #make install    安裝
   10. 運行Zend後的文件,查看源代碼就可以看到了.

   注:服務器得先安裝ZendOptimizer

原文:http://www.derickrethans.nl/vld.php

TOP