91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP 用VLD查看php的Opcode級執行

發布時間:2020-07-09 23:50:04 來源:網絡 閱讀:1025 作者:hello_world007 欄目:web開發

VLD是php的一個擴展,用于查看php的Opcode級的操作。

VLD包的下載網址:http://pecl.php.net/package/vld

用php的pecl安裝方法:pecl install channel://pecl.php.net/vld-0.10.1

使用方法如
1、用于測試的文件為testvld.php,內容如下
<?php
function _count($num){
   if($num==0){
        return 0;
   }else{
        return $num + _count($num-1);
   }
}
echo _count(10);
?>


2、根據各自的環境來用php命令加-dvld.active=1來執行文件,如本人環境中執行命令:/usr/local/php-5.6.4/bin/php -c /usr/local/php-5.6.4/php.ini  -dvld.active=1 testvld.php 


3、通過vld對testvld.php執行結果如下:
Finding entry points
Branch analysis from position: 0
Jump found. Position 1 = -2
filename:       /home/file/testvld.php
function name:  (null)
number of ops:  5
compiled vars:  none
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   2     0  E >   NOP                                                      
   9     1        SEND_VAL                                                 10
         2        DO_FCALL                                      1  $0      '_count'
         3        ECHO                                                     $0
  11     4      > RETURN                                                   1

branch: #  0; line:     2-   11; sop:     0; eop:     4; out1:  -2
path #1: 0,
Function _count:
Finding entry points
Branch analysis from position: 0
Jump found. Position 1 = 3, Position 2 = 5
Branch analysis from position: 3
Jump found. Position 1 = -2
Branch analysis from position: 5
Jump found. Position 1 = -2
filename:       /home/file/testvld.php
function name:  _count
number of ops:  12
compiled vars:  !0 = $num
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   2     0  E >   RECV                                             !0      
   3     1        IS_EQUAL                                         ~0      !0, 0
         2      > JMPZ                                                     ~0, ->5
   4     3    > > RETURN                                                   0
   5     4*       JMP                                                      ->11
   6     5    >   INIT_FCALL_BY_NAME                                       '_count'
         6        SUB                                              ~1      !0, 1
         7        SEND_VAL                                                 ~1
         8        DO_FCALL_BY_NAME                              1  $2      
         9        ADD                                              ~3      !0, $2
        10      > RETURN                                                   ~3
   8    11*     > RETURN                                                   null

branch: #  0; line:     2-    3; sop:     0; eop:     2; out1:   3; out2:   5
branch: #  3; line:     4-    4; sop:     3; eop:     3; out1:  -2
branch: #  5; line:     6-    8; sop:     5; eop:    11
path #1: 0, 3,
path #2: 0, 5,
End of function _count

重點分析:
number of ops:  Opcode級的操作總個數
列表中的op:具體的操作名


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沁水县| 志丹县| 台湾省| 尖扎县| 黑水县| 乐都县| 洮南市| 田林县| 当阳市| 尚义县| 聂拉木县| 肇庆市| 福州市| 宁夏| 贺兰县| 昭苏县| 淮北市| 元江| 伊川县| 崇信县| 兰考县| 山丹县| 江都市| 长沙市| 余干县| 平度市| 手机| 峨边| 大渡口区| 应城市| 连江县| 石河子市| 高安市| 天镇县| 龙门县| 巴彦淖尔市| 叶城县| 东阳市| 苍溪县| 枣强县| 吴川市|