PHP VLD在系统层级上分析不同函数行为

  • 简介
    我们可以使用VLD看到底层操作,包括每个函数都在做什么,正在进行哪些系统调用.

  • 安装

 1. pecl install channel://pecl.php.net/vld-0.14.0   //版本自己根据情况选定
 2.修改php.ini
 3.查看phpinfo是否有vld

vld使用

//test.php
echo "hello"." "."world!";
//cli模式,执行完会出现一些分析信息
/usr/local/php72/bin/php -dvld.active=1 ./test.php

结果分析

下面展示的是php脚本所执行的Opcode信息.输出中含有执行的操作的个数,表中包含执行操作的PHP代码行号

Finding entry points
Branch analysis from position: 0
Jump found. (Code = 62) Position 1 = -2
filename:       /data/machine/public/test.php
function name:  (null)
number of ops:  3   //代码运行时在Opcode层级执行的操作总个数
compiled vars:  none  //所有变量集输出
line     #* E I O op(操作的名称)                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   2     0  E >   EXT_STMT                                                 
         1        ECHO                                                     'hello+world%21'
   3     2      > RETURN                                                   1

branch: #  0; line:     2-    3; sop:     0; eop:     2; out1:  -2
path #1: 0, 

参考

高性能PHP应用开发

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值