欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

如果安裝與使用vld查看php的opcode代碼

這篇文章主要為大家展示了“如果安裝與使用vld查看php的opcode代碼”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“如果安裝與使用vld查看php的opcode代碼”這篇文章吧。

創(chuàng)新互聯(lián)專注于榮昌企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站開發(fā),電子商務(wù)商城網(wǎng)站建設(shè)。榮昌網(wǎng)站建設(shè)公司,為榮昌等地區(qū)提供建站服務(wù)。全流程按需定制開發(fā),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

需要分析PHP代碼的性能,或者說實(shí)現(xiàn)同樣功能的代碼到底哪個(gè)更好呢?或者說想知道底層的實(shí)現(xiàn)可以使用VLD查看opcode

下載與安裝VLD

# wget http://pecl.php.net/get/vld-0.11.2.tgz

# tar zxvf vld-0.11.2.tgz

# cd ./vld-0.11.2

# /usr/local/php/bin/phpize              或者直接phpize

# ./configure --with-php-config=/usr/local/php/bin/php-config --enable-vld

# make && make install

---------------------------------

編輯php.ini文件激活vld擴(kuò)展:

php.ini位置

#cd /usr/local/php/lib

增加

extension=vld.so

重啟Apache:

# /usr/local/apache2/bin/apachectl restart

---------------------------------

查看phpinfo()信息

如果安裝與使用vld查看php的opcode代碼

--------------------------------

至此,VLD就安裝完了。寫個(gè)簡單的test.php

<?php

$a='123';   

echo $a;  

?>

# php -dvld.active=1 ./test.php

如果沒有設(shè)置php環(huán)境變量的話

查看結(jié)果

如果安裝與使用vld查看php的opcode代碼

# php -dvld.active=1 ./test.php

如果沒有設(shè)置php環(huán)境變量的話

查看結(jié)果

如上為VLD輸出的PHP代碼生成的中間代碼的信息,說明如下:

Branch analysis from position 這條信息多在分析數(shù)組時(shí)使用。

Return found 是否返回,這個(gè)基本上有都有。

filename 分析的文件名

function name 函數(shù)名,針對(duì)每個(gè)函數(shù)VLD都會(huì)生成一段如上的獨(dú)立的信息,這里顯示當(dāng)前函數(shù)的名稱

number of ops 生成的操作數(shù)

compiled vars 編譯期間的變量,這些變量是在PHP5后添加的,它是一個(gè)緩存優(yōu)化。這樣的變量在PHP源碼中以IS_CV標(biāo)記。

op list 生成的中間代碼的變量列表

使用-dvld.active參數(shù)輸出的是VLD默認(rèn)設(shè)置,如果想看更加詳細(xì)的內(nèi)容。可以使用-dvld.verbosity參數(shù)。

#php -dvld.active=1 -dvld.verbosity=3 text.php

-dvld.verbosity=3是VLD在當(dāng)前版本可以顯示的最詳細(xì)的信息.

如果我們只是想要看輸出的中間代碼,并不想執(zhí)行這段PHP代碼,可以使用-dvld.execute=0來禁用代碼的執(zhí)行

#php -dvld.active=1 -dvld.execute=0 text.php

VLD擴(kuò)展的參數(shù)列表:

-dvld.active 是否在執(zhí)行PHP時(shí)激活VLD掛鉤,默認(rèn)為0,表示禁用。可以使用-dvld.active=1啟用。

-dvld.skip_prepend 是否跳過php.ini配置文件中auto_prepend_file指定的文件, 默認(rèn)為0,即不跳過包含的文件,顯示這些包含的文件中的代碼所生成的中間代碼。此參數(shù)生效有一個(gè)前提條件:-dvld.execute=0

-dvld.skip_append 是否跳過php.ini配置文件中auto_append_file指定的文件, 默認(rèn)為0,即不跳過包含的文件,顯示這些包含的文件中的代碼所生成的中間代碼。此參數(shù)生效有一個(gè)前提條件:-dvld.execute=0

-dvld.execute 是否執(zhí)行這段PHP腳本,默認(rèn)值為1,表示執(zhí)行。可以使用-dvld.execute=0,表示只顯示中間代碼,不執(zhí)行生成的中間代碼。

-dvld.format 是否以自定義的格式顯示,默認(rèn)為0,表示否。可以使用-dvld.format=1,表示以自己定義的格式顯示。這里自定義的格式輸出是以-dvld.col_sep指定的參數(shù)間隔

-dvld.col_sep 在-dvld.format參數(shù)啟用時(shí)此函數(shù)才會(huì)有效,默認(rèn)為 “\t”。

-dvld.verbosity 是否顯示更詳細(xì)的信息,默認(rèn)為1,其值可以為0,1,2,3 其實(shí)比0小的也可以,只是效果和0一樣,比如0.1之類,但是負(fù)數(shù)除外,負(fù)數(shù)和效果和3的效果一樣 比3大的值也是可以的,只是效果和3一樣。

-dvld.save_dir 指定文件輸出的路徑,默認(rèn)路徑為/tmp。

-dvld.save_paths 控制是否輸出文件,默認(rèn)為0,表示不輸出文件

-dvld.dump_paths 控制輸出的內(nèi)容,現(xiàn)在只有0和1兩種情況,默認(rèn)為1,輸出內(nèi)容

使用VLD比較代碼差異

代碼text1.php

[php] view plain copy

$var = 111;  

$str = "AAA " . $var . " BBB";  

代碼text2.php

[php] view plain copy

$var = 111;  

$str = "AAA $var BBB";  

如果安裝與使用vld查看php的opcode代碼

以上是“如果安裝與使用vld查看php的opcode代碼”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

本文標(biāo)題:如果安裝與使用vld查看php的opcode代碼
文章源于:http://www.chinadenli.net/article38/ieocpp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器搜索引擎優(yōu)化品牌網(wǎng)站制作網(wǎng)站維護(hù)用戶體驗(yàn)外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)