Windows 配置 Xdebug 进行动态调试

文章目录

    • 下载Xdebug动态链接库
    • 配置PHP
    • 根据 PHP 文件进行调试(调试原生)
        • 配置 PHPStorm
        • 调试原生程序
        • 调试框架 TP5
    • 监听浏览器访问进行调试(调试框架)
        • PHPStorm 新建服务器
        • PHPStorm 配置调试项(成功接收转发的请求)
        • PHPStorm 运行配置
        • 测试

下载Xdebug动态链接库

Mac配置教程之前写过,见 给Mac安装配置PHPStorm和Xdebug

访问 官网下载地址,下载 PHP 7.2 VC15 (64 bit) dll 文件。

配置PHP

本地选择 PHP Version 7.2.9,复制动态链接库 Xdebug.dll 到 PHP目录。

打开 php.ini,在末尾粘贴如下配置代码,注意路径要与本地相符(成功调试后更新的配置)

zend_extension="D:\phpstudy_pro\Extensions\php\php7.2.9nts\php_xdebug-3.1.1-7.2-vc15-nts-x86_64.dll"
xdebug.mode = debug
xdebug.profiler_append = 0
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 0
xdebug.profiler_output_name = "cache.out.%t-%s"
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_autostart = 1
xdebug.remote_host = "127.0.0.1"
xdebug.remote_port = 9003
xdebug.idekey = phpstorm

Windows 配置 Xdebug 进行动态调试_第1张图片

根据 PHP 文件进行调试(调试原生)

配置 PHPStorm

参考 给Mac安装配置PHPStorm和Xdebug

值得一提,本次在【运行】>【编辑配置】中新建并成功调试两个 PHP脚本,对 PHP Web页面 没有调试成功。

调试原生程序

编写一个原生PHP程序,


echo "Hello, Xdebug!";
?>

编辑器右上角点击 开始侦听 php 调试连接,在代码行数后双击设置断点,点击爬虫进行Debug,调试效果如下。
Windows 配置 Xdebug 进行动态调试_第2张图片

调试框架 TP5

设置 -> 服务器,新增一个服务器,命名为 tp5_index.php。

运行 -> 编辑配置,新增一个PHP脚本,配置URL等信息。

编辑器右上角开始监听,点击爬虫进行Debug
Windows 配置 Xdebug 进行动态调试_第3张图片

监听浏览器访问进行调试(调试框架)

指定 PHP 文件进行调试,只适合调试原生程序、或者调试入口文件查看程序执行流程。

要想调试 Web 应用,需要使用 Xdebug 监听浏览器请求,把请求转发到 PHPStorm。

PHPStorm 新建服务器

【设置】-【PHP】-【服务器】,新建一条记录

名称:tp5
主机:localhost
端口:80
调试器:Xdebug

PHPStorm 配置调试项(成功接收转发的请求)

【设置】-【PHP】-【调试】,找到预配置

  1. 第一项:验证 Web 服务器上的调试配置,根据提示进行调整。
  2. 安装浏览器工具栏:根据官方说明下载火狐插件 Xdebug-ext
  3. 开启监听
  4. 使用工具栏在浏览器中启动调试会话:插件无需设置,浏览器直接访问 http://127.0.0.1/tp5/public/,接收到请求,然后就可以step调试工作(已经设置了运行配置)

Windows 配置 Xdebug 进行动态调试_第4张图片Windows 配置 Xdebug 进行动态调试_第5张图片

PHPStorm 运行配置

【运行】-【编辑配置】,添加 PHP Web 页面
Windows 配置 Xdebug 进行动态调试_第6张图片

测试

浏览器访问 tp5 自定义控制器,URL链接 http://127.0.0.1/tp5/public/index.php/index/hello_world/index,发现 PHPStorm 首先在 入口文件 index.php 设置的断点停留,然后又在自定义控制器文件 HelloWorld.php 设置的断点停留,说明配置成功。

你可能感兴趣的:(PHP代码审计,java,spring,boot,后端)