auto.js 脚本代码大全_phpstorm 使用 Xdebug 调试代码

用过 Java、C# 等静态语言的同学调试代码经常是打个断点,然后轻松调试,而 PHPer 调试代码时经常是

echo $a;exit;

非常的不方便,有的同学有时候打完断点没删就给 commit 上去了,这就造成了很多困扰,有没有办法更优雅的调试呢?那当然有的,这里用到一个 PHP 模块 xdebug,xdebug 安装教程,使用它进行 HP 代码调试,能有效减少工作量和 BUG 调试时间,特别是在某些复杂的程序中,光靠看都无法找出问题

Xdebug 是一个开放源代码的 PHP 程序调试器 (即一个 Debug 工具),可以用来跟踪,调试和分析 PHP 程序的运行状况。

如果是集成环境,比如 phpstudy,就不需要自己安装了,直接环境 ->PHP-> 设置(PHP 版本号别搞混了)

59d879a306920206d087960895376f41.png

这里设置下端口号,凭自己喜好就行,我设置了 9001

0caad06850ab51783ea121e765749338.png

查看 phpinfo,搜索下,有 xdebug 模块就行了

接下来打开 phpstorm,ctrl+alt+s 打开设置

来到 debug 设置,将端口改成前面你设置的端口号(其他默认即可,当然也可以开启,看不懂英文可以翻译一下)

b5d24d050665425649ee0f8d33a5e601.png

在点开 Servers,点 + 号新建一个,名字随意,Host 填自己要 Debug 的域名(比如 localhost, 我这里填了一个虚拟域名),端口号默认 80 即可

643c796fe81afaf4709d1b86489647e6.png

然后右上角有一个 Edit Configurations,点击打开

7c880313c41b05580584d0ea8ead711e.png

点击加号,添加一个 PHP Web Page

dd8bd573f3bf197b68f78e92629a51c0.png

name 随意,Server 选刚才你配置的,startUrl 是启动的接口地址,如果我要 debug 一个下单的接口,于是我把他填写了进去,然后点击箭头所指向的 Validate

ceb12d70702f6cc59ba7aa77f9a912dd.png

第一个选项是调试本地的,第二个是调试远程的,我这里远程不讲了,免得搞晕你们

第一个输入框填写自己的项目目录,因为我这个是 tinkphp 框架,我把他指向了项目目录的 public 目录

第二个填写自己的域名,这里编辑器自动帮忙填写了

4043f590391e8af088ec33f54edda06e.png

点击 Validate 按钮,phpstorm 会帮忙检测配置是否正确,如果有错请按照提示修改

a213b5496c165f2583479b4624f1504a.png

最后点击右上角的这只臭虫,会自动打开浏览器进行调试,臭虫旁边的电话机如果变绿了表示正在监听 9001 端口

da88cc63d4dab4b7ffc640f71cb6859f.png

这时 phpstorm 会自动打开 debug 控制台,点击箭头自动下一步,左边点击红点可以打断点

be9f2beb3f3fb61a87419c6bfbb74342.png

如果想用 postman 呢?

把这个参数拿过来

8054671a4bc56563d000c51545768a5b.png

把这对 key-vlue 加入 postman 的参数内,点击 send 自动开启调试(postman 会一直处于发送状态中,直至断点调试完毕)

d68aa81807d46386fee482041d18963c.png

debug 控制台简单说明

  • 左边可以打断点,当代码执行到断点时会停止

644bd655d85062676537c0d0ff54bb0e.png

这个按钮点一下,会执行一行代码,但遇到函数会直接执行整个函数

aba3e809b90a1e06f5fc84967beb22fd.png

这个按钮也是执行一行代码,可以进入函数内部执行

0692ebd35388b13e02cef34891686e21.png

跳到下一个断点

768a699e4e8f9708437f2a855cbc2a55.png

第一个页面可以很清晰的查看所有变量

adec857086f5989cffd88d78c330bb90.png

第二个页面可以打印变量,甚至可以执行对象函数方法(贼有用)

79574fedc137517359fb6a7e04eef994.png

第三个页面是查看输出

110dd62d4f8bc8fdb3db52130b705057.png

问题总结

  1. 断点调试时,PHP 脚本执行超时后 Apache 自动断开连接,然后返回一个 500 错误

在 apache 的 http.conf 文件加入

FcgidIOTimeout 6000

phpstorm 使用 Xdebug 调试代码

更多PHP内容请访问:

八重樱:腾讯T3-T4标准精品PHP架构师教程目录大全,只要你看完保证薪资上升一个台阶(持续更新)​zhuanlan.zhihu.com
82aad9bf9c3ef6e48c88d32a848e7ebe.png

以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家,需要的可以加入我的官方群点击此处。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值