Rumah > alat pembangunan > phpstorm > phpstorm 如何使用 Xdebug 调试代码

phpstorm 如何使用 Xdebug 调试代码

coldplay.xixi
Lepaskan: 2020-07-02 17:29:03
ke hadapan
8357 orang telah melayarinya

phpstorm 如何使用 Xdebug 调试代码

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

echo $a;exit;
Salin selepas log masuk

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

相关学习推荐:phpstrom使用教程

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

  • 如果是集成环境,比如phpstudy,就不需要自己安装了,直接环境->PHP->设置(PHP版本号别搞混了)
  • 这里设置下端口号,凭自己喜好就行,我设置了9001
  • 查看phpinfo,搜索下,有xdebug模块就行了

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

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

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

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

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

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

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

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

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

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

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

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

    如果想用postman呢?

    把这个参数拿过来

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

我写的教程希望以最简短的步骤让读者能运行起xdebug,某些细节方面就忽略了,有兴趣的同学可以去网上查找更详细的配置和说明(当然没兴趣)


debug控制台简单说明

  • 左边可以打断点,当代码执行到断点时会停止
  • 这个按钮点一下,会执行一行代码,但遇到函数会直接执行整个函数
  • 这个按钮也是执行一行代码,可以进入函数内部执行
  • 跳到下一个断点
  • 第一个页面可以很清晰的查看所有变量
  • 第二个页面可以打印变量,甚至可以执行对象函数方法(贼有用)
  • 第三个页面是查看输出

    问题总结

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

    在apache的http.conf文件加入

    FcgidIOTimeout 600
    Salin selepas log masuk

Atas ialah kandungan terperinci phpstorm 如何使用 Xdebug 调试代码. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:learnku.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan