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

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

安装 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 文件,跟着执行流程往下看就行了。

xhprof

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

php 大型系统开法流程图,有一个php项目源码,如何搞清楚执行过程?画出其流程图...相关推荐

  1. 如何学习一个开源项目源码

    你有个任务,需要用到某个开源项目;或者老大交代你一个事情,让你去了解某个东西.怎么下手呢?如何开始呢?我的习惯是这样: 首先,查找和阅读该项目的博客和资料,通过google你能找到某个项目大体介绍的博 ...

  2. 基于java的ssm和微信小程序实现物业缴费系统的设计与实现【附项目源码+论文说明】

    基于java的ssm和微信小程序实现物业缴费系统的设计与实现 摘要 本论文主要论述了如何使用JAVA语言开发一个基于微信小程序的物业缴费系统的设计与实现,本系统将严格按照软件开发流程进行各个阶段的工作 ...

  3. 毕设ssm商城系统_ssm商城系统(爱淘淘购物)项目源码

    ssm商城系统(爱淘淘购物)项目演示 本系统采用SSM架构来搭建. 服务器:tomcat7 java虚拟机:jdk1.7 数据库:mysql 前端:Vue + Bootstrap 管理员用户:root ...

  4. 基于javaweb的仿天猫商城系统开发与设计.rar(论文+任务书+项目源码)

    1设计背景 1 1.1课题现状 1 1.2课题意义 1 2设计思路 2 2.1环境与工具 2 2.1.1 Idea工具 2 2.1.2 webStorm工具 2 2.1.3 Mysql 2 2.1.4 ...

  5. [含文档+PPT+源码等]精品基于Uniapp+SSM实现的安卓的掌上校园系统[包运行成功]Java毕业设计Android项目源码

  6. [含文档+PPT+源码等]精品基于Uniapp+SSM实现的安卓的掌上校园系统[包运行成功]计算机毕业设计Android项目源码

  7. 含文档+PPT+源码等]精品基于Nodejs实现的智慧小区服务系统[包运行成功]Nodejs毕业设计计算机项目源码

  8. PHP初中英语在线考试系统的设计与实现-计算机毕设 附源码 87564

    PHP初中英语在线考试系统的设计与实现 摘 要 本文研究的初中英语在线考试系统主要功能模块包括:学生用户管理.考试信息.成绩分析.通知公告管理,采取面对对象的开发模式进行软件的开发和硬体的架设,能很好 ...

  9. PHP初中英语在线考试系统的设计与实现-计算机毕设 附源码87564

    PHP初中英语在线考试系统的设计与实现 摘 要 本文研究的初中英语在线考试系统主要功能模块包括:学生用户管理.考试信息.成绩分析.通知公告管理,采取面对对象的开发模式进行软件的开发和硬体的架设,能很好 ...

最新文章

  1. linux c setuid函数解析
  2. iOS: Crash文件解析
  3. 小米max2 android p,这就是小米Max2?6.4英寸超大屏幕配置大升级
  4. 为什么python除法结果会有小数点0_关于python:为什么整数除法会在许多脚本语言中向下取整?...
  5. matlab进行sg滤波,Matlab,SG滤波器
  6. sed和awk的常用实例 .
  7. python的django框架是干嘛的_Django框架在Python开发很重要为什么?
  8. 管理站点复制 【Windows Server 2019】活动目录(Acitve Directory)——在同一区域安装多台域控制器
  9. java调用C++代码
  10. Struts中s:checkboxlist的用法
  11. eclipse设置黑色主题
  12. android主题编辑器,安卓 EMUI主题编辑器 Theme Editor For EMUI v1.13.5 专业版
  13. delphi教程 | 第一个程序
  14. 为Clion配置mingw32或mingw64
  15. 华中科技大学计算机学院陈迪,华中科技大学2011届“优秀毕业生”公示名单
  16. always@(敏感列表)
  17. 人工智能(8)---一文读懂人工智能产业链:基础技术、人工智能技术及人工智能应用
  18. 和大家分享一款使用PHP+MYSQL搭建的OA办公管理系统源码
  19. ubuntu 20.04 安装 gedit
  20. 计算机游戏翻译,百度翻译电脑版

热门文章

  1. 华为h22h05服务器做raid_华为V5服务器 RAID控制卡(LSI SAS3008IR)
  2. Java并发编程实战 代码bug,Java并发编程实战(1)- 并发程序的bug源头
  3. 盘锦工业机器人厂家_盘锦制造进入“机器人时代”
  4. arcore之路-unity开发从入门到实践_Unity游戏开发——单例模式的最佳实践
  5. oracle 建表id自增长_oracle 左连接、右连接、全外连接、内连接、以及 (+) 号用法...
  6. textureview 旋转90度后平铺_C++初级编程NOIP题:11H1537: 图像旋转
  7. ubuntu/wireshark --Lua: Error during loading: [string /usr/share/wireshark/init.lua]:45问题解决
  8. linux内核I2C子系统学习(二)
  9. wince 自带的web server
  10. jpa mysql乐观锁_【快学springboot】8.JPA乐观锁OptimisticLocking