phpstorm配合宝塔面板使用xdebug

首先,安装了宝塔面板,并配置了一个普通的php站点(zfh.215000.com)

修改网站对应的php.ini如下:

[XDebug]
xdebug.profiler_append = 0
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 0
xdebug.profiler_output_dir ="C:\BtSoft\temp\xdebug"
xdebug.trace_output_dir ="C:\BtSoft\temp\xdebug"
xdebug.profiler_output_name = "cache.out.%t-%s"
; 上面几个一般不用改,查看下面几个设置
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "zfh.215000.com"
xdebug.remote_port = 9018
zend_extension="C:\BtSoft\php\74\ext\php_xdebug.dll"

这里有必要说明一下,有些目录是已经默认配置了的,对比没配置的才需要添加并设置。(remote host 表示ide的服务器,断点流程为:浏览器插件 –> 服务器xdebug –> ide开发工具,也就是如何让 xdebug 找到并发送数据到 ide)

修改完毕后,重载php配置,否则ini配置不生效。

此时,先使用phpinfo查看是否存在xdebug,如果存在一般可以看到类似字样:

xdebug

xdebug supportenabled
Version2.9.6
Support Xdebug on Patreon, GitHub, or as a business
Debuggerenabled
IDE KeyDESKTOP-LR8M2TK$

只要存在xdebug,以及显示版本号,一般就说明已经正确安装了xdebug,也就是php.ini设置正确。

接下来,在phpStorm中断点。

在phpStorm中打开该站点目录环境(依然是本机,不同服务器未尝试过,理论上应该也可以)。

1.在settings找到php配置,配置php以及debug的位置(和上面php.ini一致)

2.在php配置的子项debug配置,编辑端口9018(与php.ini一致)

3.新建一个测试文件,打断点,并点击监听(无需启动,直接访问宝塔中的网站)。(需要安装浏览器插件,请使用edge以及扩展 xdebug helper并在该需要调试的页面打开)

4.访问页面时,phpStorm自动提示是否监听bedug。确认后即可自动监听该网站debug,可在settings ==》 php ==》 server中删除,或关闭phpStorm右上角的监听。

5.如果不生效,在phpstorm 找到 php –> server –> 添加一个 server,name随意,host为域名、port按实际填写,后面的 debugger 为 xdebug,保存即可。

基本按键:

f7(Step into):进入子函数

f8(Step over):下一步

shift+f8(Step Out):退出子函数

alt+f9(Run to Cursor):到下一个断点(如果没有断点,终止)

alt+f8(Evaluate Expression):提供表达式计算(下方已提示出所有可用变量与对应值)

没打断点也一直自动debug?点击顶部菜单的run==》Break at first line in PHP Scripts,取消勾选即可

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注