文档章节

用phpdbg查看opcode

南湖船老大
 南湖船老大
发布于 2016/10/02 12:15
字数 223
阅读 167
收藏 1

有人问到,我就试了下。关于PHPDBG的文章不多,官方文档也不是很详细。当然,一部分原因是PHP debug的黑历史,不提。之前有个vld扩展能看opcode,不过那是PHP 5.2/5.3时代了,也好多年没见过了。试了下phpdbg,是可以直接看opcode的,就是文档不是很清楚。

opcode,官方文档:http://php.net/manual/en/internals2.opcodes.list.php

直接说phpdbg查看opcode的方式

<?php
$a=1;
$b=&$a;
$b=$a++;
echo $a,'-',$b;

然后:

php opcode phpdbg

和opcode相关的几个指令主要有下面几个:

p print print something
p e print exec print out the instructions in the main execution context
p o print opline print out the instruction in the current opline
p c print class print out the instructions in the specified class
p m print method print out the instructions in the specified method
p f print func print out the instructions in the specified function
p s print stack print out the instructions in the current stack

© 著作权归作者所有

共有 人打赏支持
南湖船老大
粉丝 679
博文 11
码字总数 10246
作品 0
深圳
其他
php内核分析(六)-opcode

这里阅读的php版本为PHP-7.1.0 RC3,阅读代码的平台为linux 查看opcode php是先把源码解析成opcode,然后再把opcode传递给zend_vm进行执行的。 在php7中,我们能很方便用phpdbg来查看一个文件...

王二狗子11
01/07
0
0
PHP的SAPI模块--PHPDBG

PHPDBG是一个PHP的SAPI模块,可以在不用修改代码和不影响性能的情况下控制PHP的运行环境。 PHPDBG的目标是成为一个轻量级、强大、易用的PHP调试平台(PHP5.4+) 主要功能: 单步调试 灵活的下...

leo108
2014/09/10
804
0
Linux 下编译安装 PHP 5.6

系统环境: CentOS 6.5 / 7.0 x8664 Fedora 20 x8664 下载 PHP 源码包 # wget http://cn2.php.net/distributions/php-5.6.0.tar.xz# xz -d php-5.6.0.tar.xz# tar xf php-5.6.0.tar -C /usr......

legend3
2015/08/14
0
0
PHP 7.1.1 和 7.0.15 正式发布

局长
2017/01/19
4.4K
10
PHP安装parsekit扩展查看opcode

也可以通过VLD查看,具体请看本人写的http://blog.csdn.net/21aspnet/article/details/7002644 安装parsekit扩展 http://pecl.php.net/package/parsekit 下载最新的 #wget http://pecl.php.......

晨曦之光
2012/03/09
357
0

没有更多内容

加载失败,请刷新页面

加载更多

简单谈一谈压力测试

最近,在做API的压力测试,趟了不少坑,然后呢,简要记录一下。 压测前需要准备的一些事 拿到API文档不要立马上手,先基准测试,就是执行一次接口测试,至少要压这个接口,要先熟悉一下他的参...

浮躁的码农
46分钟前
0
0
PHP 错误调查

一.定义:PHP错误是由PHP无法读懂执行的代码引起的错误。 二:错误日志 error log 1.在php.ini 里设置 log_errors = on, log文件位置 error_log=/tmp/php_errors.log 2.代码里设置ini_set('...

忙碌的小蜜蜂
49分钟前
1
0
knn算法

import numpy as np def CreateDateSet(): group = np.array([[1.0, 2.0], [1.2, 0.1], [0.1, 1.4], [0.3, 3.5]]) labels = ['A','A','B','B'] return group,labels coding:utf-8 from numpy......

南桥北木
49分钟前
1
0
自己手写一个 SpringMVC 框架

前端框架很多,但没有一个框架称霸,后端框架现在Spring已经完成大一统.所以学习Spring是Java程序员的必修课. Spring 框架对于 Java 后端程序员来说再熟悉不过了,以前只知道它用的反射实现的,...

别打我会飞
今天
2
0
01-《Apache Tomcat 9》之文件索引

《Apache Tomcat 9》是《看Apache官方文档学英语》的第一个专栏!让我们一起在看文档的过程中学英语,在学英语的过程中夯实技术! Documentation Index - 文件索引 Introduction - 介绍 This...

飞鱼说编程
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部