首页 > 有一个php项目源码,如何搞清楚执行过程?画出其流程图

有一个php项目源码,如何搞清楚执行过程?画出其流程图

比如一个c项目,可以让其运行起来,然后利用gdb调试,一步步执行,搞清楚其执行过程,那么一个php项目,如何才能搞清楚执行过程呢,或者需要什么专业的工具


xhprof


安装 xdebug

然后自己配置:

; 输出文件路径
xdebug.trace_output_dir="/tmp"
; 输出文件名
xdebug.trace_output_name=trace.%H.%t

; 记录添加到文件中方式:1 = 追加(如果存在该文件). 0 (default) = 覆盖(如果存在该文件)
xdebug.trace_options=0
; trace 数据格式
; 0   shows a human readable indented trace file
; 1   writes a computer readable format which has two different records
; 2   writes a trace formatted in (simple) HTML
xdebug.trace_format=0

; 显示数据
; 0 = 不显示.
; 1 = 参数类型,值  (例如:array(9)).
; 2 = 同上1,只是在CLI模式下略微有区别
; 3 = 所有变量内容(受到 xdebug.var_display_max_children,xdebug.var_display_max_data 和xdebug.var_display_max_depth限制)
; 4 = 所有变量内容和变量名(例如:array(0 => 9)).
xdebug.collect_params=0
; 是否收集函数返回值
xdebug.collect_return=0

; 关闭自动追踪,使用 XDEBUG_TRACE GET/POST 触发追踪, 或者通过设置cookie XDEBUG_TRACE
xdebug.auto_trace=0
xdebug.trace_enable_trigger=1

这样访问你的应用,带上特殊的参数就可以得到 trace 文件了,比如:you.app/?XDEBUG_TRACE

然后安装这个 vim 扩展https://github.com/xdebug/xdebug.org/blob/master/html/files/xt.vim

用 vim 打开 trace 文件,跟着执行流程往下看就行了。


Zend Studio 就可以设断点来跟踪代码


如果你想调试的话,可以使用zend studio 或者phpstrom 都是很好的工具

【热门文章】
【热门文章】