利用PHP擴(kuò)展vld查看PHP opcode操作步驟
更新時(shí)間:2013年03月04日 16:17:33 作者:
首先下載最新版vld擴(kuò)展接下來(lái)編譯安裝vld擴(kuò)展最后將生成的vld.so復(fù)制到extension_dir目錄下然后修改php.ini文件接下來(lái)創(chuàng)建test.php文件,感興趣的你可以參考下本文
首先下載最新版vld擴(kuò)展:
~/public_html/php-5.3.13/ext> wget http://pecl.php.net/get/vld-0.11.2.tgz
~/public_html/php-5.3.13/ext> tar zxvf vld-0.11.2.tgz
~/public_html/php-5.3.13/ext> cd vld-0.11.2/
接下來(lái)編譯安裝vld擴(kuò)展:
~/public_html/php-5.3.13/ext/vld-0.11.2> phpize
~/public_html/php-5.3.13/ext/vld-0.11.2> ./configure --with-php-config=/usr/local/services/php/bin/php-config --enable-vld
~/public_html/php-5.3.13/ext/vld-0.11.2> make
~/public_html/php-5.3.13/ext/vld-0.11.2> sudo make install
Installing shared extensions: /usr/local/services/php/lib/php/extensions/no-debug-non-zts-20090626/
最后將生成的vld.so復(fù)制到extension_dir目錄下:
~/public_html/php-5.3.13/ext/vld-0.11.2> cd /usr/local/services/php/lib/php/extensions/no-debug-non-zts-20090626/
/usr/local/services/php/lib/php/extensions/no-debug-non-zts-20090626> sudo cp vld.so /usr/local/services/php/extensions/
然后修改php.ini文件,添加如下配置:
extension=vld.so
接下來(lái)創(chuàng)建test.php文件:
<?php
$a = "hello world";
echo $a . PHP_EOL;
使用cli來(lái)執(zhí)行,查看生成的opcode:
~/public_html> php -dvld.active=1 test.php
Finding entry points
Branch analysis from position: 0
Return found
filename: /home/zhanhailiang/public_html/test.php
function name: (null)
number of ops: 4
compiled vars: !0 = $a
line # * op fetch ext return operands
---------------------------------------------------------------------------------
3 0 > ASSIGN !0, 'hello+world'
5 1 CONCAT ~1 !0, '%0A'
2 ECHO ~1
6 3 > RETURN 1
branch: # 0; line: 3- 6; sop: 0; eop: 3
path #1: 0,
hello world
復(fù)制代碼 代碼如下:
~/public_html/php-5.3.13/ext> wget http://pecl.php.net/get/vld-0.11.2.tgz
~/public_html/php-5.3.13/ext> tar zxvf vld-0.11.2.tgz
~/public_html/php-5.3.13/ext> cd vld-0.11.2/
接下來(lái)編譯安裝vld擴(kuò)展:
復(fù)制代碼 代碼如下:
~/public_html/php-5.3.13/ext/vld-0.11.2> phpize
~/public_html/php-5.3.13/ext/vld-0.11.2> ./configure --with-php-config=/usr/local/services/php/bin/php-config --enable-vld
~/public_html/php-5.3.13/ext/vld-0.11.2> make
~/public_html/php-5.3.13/ext/vld-0.11.2> sudo make install
Installing shared extensions: /usr/local/services/php/lib/php/extensions/no-debug-non-zts-20090626/
最后將生成的vld.so復(fù)制到extension_dir目錄下:
復(fù)制代碼 代碼如下:
~/public_html/php-5.3.13/ext/vld-0.11.2> cd /usr/local/services/php/lib/php/extensions/no-debug-non-zts-20090626/
/usr/local/services/php/lib/php/extensions/no-debug-non-zts-20090626> sudo cp vld.so /usr/local/services/php/extensions/
然后修改php.ini文件,添加如下配置:
復(fù)制代碼 代碼如下:
extension=vld.so
接下來(lái)創(chuàng)建test.php文件:
復(fù)制代碼 代碼如下:
<?php
$a = "hello world";
echo $a . PHP_EOL;
使用cli來(lái)執(zhí)行,查看生成的opcode:
復(fù)制代碼 代碼如下:
~/public_html> php -dvld.active=1 test.php
Finding entry points
Branch analysis from position: 0
Return found
filename: /home/zhanhailiang/public_html/test.php
function name: (null)
number of ops: 4
compiled vars: !0 = $a
line # * op fetch ext return operands
---------------------------------------------------------------------------------
3 0 > ASSIGN !0, 'hello+world'
5 1 CONCAT ~1 !0, '%0A'
2 ECHO ~1
6 3 > RETURN 1
branch: # 0; line: 3- 6; sop: 0; eop: 3
path #1: 0,
hello world
相關(guān)文章
php中實(shí)現(xiàn)xml與mysql數(shù)據(jù)相互轉(zhuǎn)換的方法
這篇文章主要介紹了php中實(shí)現(xiàn)xml與mysql數(shù)據(jù)相互轉(zhuǎn)換的方法,實(shí)例封裝了一個(gè)類(lèi)文件,可實(shí)現(xiàn)XML與MySQL數(shù)據(jù)的相互轉(zhuǎn)換,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-12-12
php安全配置記錄和常見(jiàn)錯(cuò)誤梳理(總結(jié))
下面小編就為大家?guī)?lái)一篇php安全配置記錄和常見(jiàn)錯(cuò)誤梳理(總結(jié))。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03
php編程中echo用逗號(hào)和用點(diǎn)號(hào)連接的區(qū)別
本文通過(guò)幾個(gè)具體的例子.來(lái)認(rèn)清楚php編程中echo用逗號(hào)和用點(diǎn)號(hào)連接之前的區(qū)別.有需要的小伙伴可以參考下2016-03-03
PHP人民幣金額數(shù)字轉(zhuǎn)中文大寫(xiě)的函數(shù)代碼
在網(wǎng)上看到一個(gè)非常有趣的PHP人民幣金額數(shù)字轉(zhuǎn)中文大寫(xiě)的函數(shù),其實(shí)質(zhì)就是數(shù)字轉(zhuǎn)換成中文大寫(xiě),測(cè)試了一下,非常有趣,隨便輸個(gè)數(shù)字,就可以將其大寫(xiě)打印出來(lái),新手朋友們?cè)囈幌掳?/div> 2013-02-02最新評(píng)論

