比如一个c项目,可以让其运行起来,然后利用gdb调试,一步步执行,搞清楚其执行过程,那么一个php项目,如何才能搞清楚执行过程呢,或者需要什么专业的工具
比如一个c项目,可以让其运行起来,然后利用gdb调试,一步步执行,搞清楚其执行过程,那么一个php项目,如何才能搞清楚执行过程呢,或者需要什么专业的工具
如果你想调试的话,可以使用zend studio 或者phpstrom 都是很好的工具
安装 xdebug
然后自己配置:
<code>; 输出文件路径 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</code>
这样访问你的应用,带上特殊的参数就可以得到 trace 文件了,比如:you.app/?XDEBUG_TRACE
然后安装这个 vim 扩展https://github.com/xdebug/xdebug.org/blob/master/html/files/xt.vim
用 vim 打开 trace 文件,跟着执行流程往下看就行了。
xhprof
Zend Studio 就可以设断点来跟踪代码