PHPstorm如何使用Xdebug,postman如何使用xdebug Myth丶恋晨 2022-04-10 01:16 455阅读 0赞 **使用Xdebug原因**:总是在代码里var\_dump和echo打断点测试很麻烦,每次测完了还要删除掉打印的代码再测试,于是我就想在PHPstorm里使用Xdebug做断点测试。 在网上找了各种PHPstorm使用Xdebug的教程都是半半拉拉的,而且都与实际用起来有差别,甚至都是错误的安装方法。 **下面是我自己测试通的安装方法:** 以phpstudy集成环境为例:因为我已经用5.6配置过一遍,下面我用7.2来安装 1.首先打开PHPstorm的Settings-》languages& frameworks-》PHP。如果你的快捷键和其他软件快捷键不冲突也可以Ctrl+ALT+S快速进入设置里找到语言和框架下的PHP选项。 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE1OTU1NDIz_size_16_color_FFFFFF_t_70][] ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE1OTU1NDIz_size_16_color_FFFFFF_t_70 1][] 选择好你的php版本的位置,注意现在debugger是没有的。 应用OK后: ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE1OTU1NDIz_size_16_color_FFFFFF_t_70 2][] phpstudy打开Xdebug扩展 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE1OTU1NDIz_size_16_color_FFFFFF_t_70 3][] 我发现7.0以上ext目录下面没有Xdebugz.dll扩展了 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE1OTU1NDIz_size_16_color_FFFFFF_t_70 4][] 于是我到官网去下扩展:[https://xdebug.org/download.php][https_xdebug.org_download.php] ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE1OTU1NDIz_size_16_color_FFFFFF_t_70 5][] 根据你的系统环境选择安装合适的扩展 我选择的是2.6正式版的,一定要选对扩展哦。 下载到php的扩展目录下 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE1OTU1NDIz_size_16_color_FFFFFF_t_70 6][] 打开php.ini配置如下: > \[XDebug\] > xdebug.profiler\_output\_dir="E:\\PHPstudy\\PHPTutorial\\tmp\\xdebug" > xdebug.trace\_output\_dir="E:\\PHPstudy\\PHPTutorial\\tmp\\xdebug" > zend\_extension = E:\\PHPstudy\\PHPTutorial\\php\\php-7.2.1-nts\\ext\\php\_xdebug-2.6.0-7.2-vc15-nts.dll > > xdebug.remote\_enable=1 > xdebug.remote\_port = 9001 重启php环境后看phpinfo: ![20190616153422155.png][] ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE1OTU1NDIz_size_16_color_FFFFFF_t_70 7][] 由于我配的Xdebug端口是9001,所以打开PHPstorm设置下的php下的Xdebug配置也要9001 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE1OTU1NDIz_size_16_color_FFFFFF_t_70 8][] 再看看设置-》语言和框架下的PHP 选项里的debugger出来没,没有的话点一下刷新 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE1OTU1NDIz_size_16_color_FFFFFF_t_70 9][] 在Services里配置如下: ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE1OTU1NDIz_size_16_color_FFFFFF_t_70 10][] 在Debug选项里点验证debugger服务配置 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE1OTU1NDIz_size_16_color_FFFFFF_t_70 11][] 按着上面操作,基本上配置就算完了,网上还有一些配置方法我没测通 ,下面就是实操了: **我要想测我指定的地方怎么操作呢?** 1.打开PHPstorm右上角的debug监听,然后点击xdebug调试(ps:不用的时候必须关掉,否则测试项目的时候刷不出来页面) ![20190616154854467.png][] ![20190616164213718.png][] 2.你到你想debug的地方在代码行左边点一下出来个红点点 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE1OTU1NDIz_size_16_color_FFFFFF_t_70 12][] 3.到浏览器地址栏去访问你这个URL ![2019061616004425.png][] 4.这时候浏览器什么东西也不输出给你,这时候你到PHPstorm里就有东西了,点Debugger(调试): ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE1OTU1NDIz_size_16_color_FFFFFF_t_70 13][] 5.往下继续运行代码,运行完了浏览器页面也就出来了 ![20190616155905577.gif][] **好了以上就是基本调试方法了,下面是调试按钮代表什么功能: ** 下面的使用方法参考PHPstorm官网的debug帮助手册:[https://www.jetbrains.com/help/phpstorm/debug-tool-window.html][https_www.jetbrains.com_help_phpstorm_debug-tool-window.html] 1.这个跟计算器一样的按钮实际用处就是写计算表达式的 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE1OTU1NDIz_size_16_color_FFFFFF_t_70 14][] 2. 三条杠的图标点击可突出显示编辑器中的当前执行点,并在“ 帧”窗格中显示相应的堆栈帧。 ![20190616160353555.gif][] 3.单击此按钮执行程序,直到当前方法或文件中的下一行,跳过当前执行点(如果有)引用的方法。如果当前行是方法中的最后一行,则执行步骤到此方法之后执行的行。 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE1OTU1NDIz_size_16_color_FFFFFF_t_70 15][] 我直接把官网的操作方法复制过来,需要的自己测试下 ## **调试工具栏** ## <table> <thead> <tr> <th style="text-align:left;vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;">项目</span></p> </th> <th style="text-align:left;vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;">工具提示和快捷方式</span></p> </th> <th style="text-align:left;vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;">描述</span></p> </th> </tr> </thead> <tbody> <tr> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;"><img alt="图标动作重启svg" src="https://img-blog.csdnimg.cn/20181219154532118" width="16"></span></p> </td> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;">重新运行 <br> Ctrl+F5</span></p> </td> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;">单击此按钮可停止当前应用程序并再次运行它。</span></p> </td> </tr> <tr> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;"><img alt="图标动作恢复svg" src="https://img-blog.csdnimg.cn/2018121915453293" width="16"></span></p> </td> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;">调试 <br> F9</span></p> </td> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;">当前应用程序停止时,单击此按钮再次调试它。当应用程序运行时,此按钮切换为 <img alt="图标动作重启svg" src="https://img-blog.csdnimg.cn/20181219154532118" width="16">。</span></p> </td> </tr> <tr> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;"><img alt="图标动作恢复svg" src="https://img-blog.csdnimg.cn/2018121915453293" width="16"></span></p> </td> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;">简历程序 <br> F9</span></p> </td> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;">暂停应用程序时,单击此按钮可恢复程序执行。</span></p> </td> </tr> <tr> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;"><img alt="图标动作暂停svg" src="https://img-blog.csdnimg.cn/20181219153735806" width="16"></span></p> </td> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;">暂停程序 <br> Ctrl+Pause</span></p> </td> <td style="vertical-align:baseline;"><span style="color:#343434;">单击此按钮可暂停程序执行。</span> <p style="margin-left:0px;"><span style="color:#343434;">请注意,该按钮不适用于<a href="https://www.jetbrains.com/help/phpstorm/run-debug-configuration-node-js.html" rel="nofollow">运行/调试配置:Node.js</a>,<a href="https://www.jetbrains.com/help/phpstorm/run-debug-configuration-node-js-remote-debug.html" rel="nofollow">运行/调试配置:附加到Node.js / Chrome</a>,以及 <a href="https://www.jetbrains.com/help/phpstorm/run-debug-configuration-nodeunit.html" rel="nofollow">运行/调试配置:NodeUnit</a>。</span></p> </td> </tr> <tr> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;"><img alt="图标动作暂停svg" src="https://img-blog.csdnimg.cn/20181219153735826" width="16"></span></p> </td> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;">停止 <br> Ctrl+F2</span></p> </td> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;">单击此按钮可通过标准<code>shutdown</code> 脚本在外部终止当前进程 。</span></p> </td> </tr> <tr> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;"><img alt="icons debugger viewBreakpoints svg" src="https://img-blog.csdnimg.cn/20181219153735841" width="16"></span></p> </td> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;">查看断点 <br> Ctrl+Shift+F8</span></p> </td> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;">单击此按钮可打开“ 断点”对话框,您可以在其中配置断点行为。</span></p> </td> </tr> <tr> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;"><img alt="图标调试器muteBreakpoints svg" src="https://img-blog.csdnimg.cn/20181219153735858" width="16"></span></p> </td> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;">静音断点</span></p> </td> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;">使用此按钮可切换断点状态。</span></p> <p style="margin-left:0px;"><span style="color:#343434;">在“ <a href="https://www.jetbrains.com/help/phpstorm/debug-tool-window.html" rel="nofollow">调试”</a>工具窗口<img alt="图标调试器muteBreakpoints svg" src="https://img-blog.csdnimg.cn/20181219153735858" width="16">的工具栏中按下该按钮时 ,项目中的所有断点都将静音,并且其图标将变为灰色:。<img alt="静音断点" height="14" src="https://img-blog.csdnimg.cn/20181219153735899" width="16"></span></p> <p style="margin-left:0px;"><span style="color:#343434;">您可以暂时将项目中的所有断点静音以执行程序,而无需在断点处停止。</span></p> </td> </tr> <tr> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;"><img alt="图标调试器restoreLayout svg" src="https://img-blog.csdnimg.cn/20181219153735912" width="16"></span></p> </td> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;">恢复布局</span></p> </td> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;">单击此按钮可放弃对当前布局的更改并返回默认状态。</span></p> </td> </tr> <tr> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;"><img alt="图标一般gearPlain svg" src="https://img-blog.csdnimg.cn/20181219153735926" width="16"></span></p> </td> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;">显示选项菜单</span></p> </td> <td style="vertical-align:baseline;"><span style="color:#343434;">单击此按钮可打开包含以下选项的菜单:</span> <ul style="margin-left:0px;"> <li> <p style="margin-left:0px;"><span style="color:#343434;">显示值内联:选择此选项可启用<a href="https://www.jetbrains.com/help/phpstorm/inline-debugging.html" rel="nofollow">内联调试</a> 功能,该 功能允许在编辑器中查看其使用旁边的变量值。</span></p> </li> <li> <p style="margin-left:0px;"><span style="color:#343434;">按字母顺序排序值:选择此选项可按字母顺序对“ <a href="https://www.jetbrains.com/help/phpstorm/debug-tool-window-variables.html" rel="nofollow">变量”窗格</a> 中的值进行排序 。</span></p> </li> <li> <p style="margin-left:0px;"><span style="color:#343434;">在会话结束时取消静音断点:选择此选项可在调试会话完成后重新启用所有禁用的断点。</span></p> </li> </ul></td> </tr> <tr> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;"><img alt="图标一般针选项卡svg" src="https://img-blog.csdnimg.cn/20181219153735947" width="16"></span></p> </td> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;">Pin标签</span></p> </td> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;">单击此按钮可固定或取消固定当前选项卡。您可能需要固定一个标签,以防止在此窗口中达到最大标签数时自动关闭标签。</span></p> </td> </tr> </tbody> </table> ## **步进工具栏** ## <table> <thead> <tr> <th style="text-align:left;vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;">项目</span></p> </th> <th style="text-align:left;vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;">工具提示和快捷方式</span></p> </th> <th style="text-align:left;vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;">描述</span></p> </th> </tr> </thead> <tbody> <tr> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;"><img alt="图标调试器showCurrentFrame svg" src="https://img-blog.csdnimg.cn/20181219153735962" width="16"></span></p> </td> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;">显示执行点 <br> Alt+F10</span></p> </td> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;">单击此按钮可突出显示编辑器中的当前执行点,并在“ 帧”窗格中显示相应的堆栈帧。</span></p> </td> </tr> <tr> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;"><img alt="图标动作traceOver svg" src="https://img-blog.csdnimg.cn/20181219153735982" width="16"></span></p> </td> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;">跳过 <br> F8</span></p> </td> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;">单击此按钮执行程序,直到当前方法或文件中的下一行,跳过当前执行点(如果有)引用的方法。如果当前行是方法中的最后一行,则执行步骤到此方法之后执行的行。</span></p> </td> </tr> <tr> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;"><img alt="图标动作traceInto svg" src="https://img-blog.csdnimg.cn/20181219153735999" width="16"></span></p> </td> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;">踏入 <br> F7</span></p> </td> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;">单击此按钮可使调试器步入当前执行点调用的方法。</span></p> </td> </tr> <tr> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;"><img alt="图标调试器操作强制步入svg" src="https://img-blog.csdnimg.cn/2018121915373615" width="16"></span></p> </td> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;">强行进入 <br> Shift+Alt+F7</span></p> </td> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;">单击此按钮可使调试器步进到当前执行点中调用的方法中,即使要跳过此方法也是如此。</span></p> </td> </tr> <tr> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;"><img alt="图标动作stepOut svg" src="https://img-blog.csdnimg.cn/2018121915373692" width="16"></span></p> </td> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;">走出去 <br> Shift+F8</span></p> </td> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;">单击此按钮可以将调试器步骤从当前方法中移出,直到它之后执行的行。</span></p> </td> </tr> <tr> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;"><img alt="图标动作runToCursor svg" src="https://img-blog.csdnimg.cn/20181219153736108" width="16"></span></p> </td> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;">运行到光标 <br> Alt+F9</span></p> </td> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;">单击此按钮可恢复程序执行并暂停,直到执行点到达编辑器中当前光标位置的行。不需要断点。实际上,在插入符号处为当前行设置了临时断点,一旦程序执行暂停,该断点就会被删除。因此,如果插入符号位于已经执行的行,则程序将刚刚恢复以进一步执行,因为无法回滚到先前的断点。</span></p> <p style="margin-left:0px;"><span style="color:#343434;">如果在将您带到指定行之前为应该执行的行设置断点,则调试器将在第一个遇到的断点处暂停。</span></p> </td> </tr> <tr> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;"><img alt="icons debugger evaluateExpression svg" src="https://img-blog.csdnimg.cn/20181219153736127" width="16"></span></p> </td> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;">评估表达 <br> Alt+F8</span></p> </td> <td style="vertical-align:baseline;"> <p style="margin-left:0px;"><span style="color:#343434;">单击此按钮可打开“ <a href="https://www.jetbrains.com/help/phpstorm/evaluate-expression.html" rel="nofollow">评估表达式”</a> 对话框。</span></p> </td> </tr> </tbody> </table> *注:如果配合chrome浏览器的xdebug helper插件,就不用配置phpstorm的xdebug了,**二选一*** ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE1OTU1NDIz_size_16_color_FFFFFF_t_70 16][] 鼠标移入插件图标上,右键打开选项,配置一下 IDE KRY,然后在浏览器访问项目路由,就可以进行和上面一样的调试了 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE1OTU1NDIz_size_16_color_FFFFFF_t_70 17][] ## postman如何使用xdebug ## 1.打开PHPstorm右上角的xdebug,会自动跳转到浏览器 ![20190616164058554.png][] 2.把自动生成的浏览器的url复制到postman访问一次 ![20190616164457178.png][] ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE1OTU1NDIz_size_16_color_FFFFFF_t_70 18][] 3.后面在postman访问路由的时候就可以正常调试了 ![20190616165404223.gif][] [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE1OTU1NDIz_size_16_color_FFFFFF_t_70]: /images/20220404/2e4b8d1d698a438f96599bdd25a8b703.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE1OTU1NDIz_size_16_color_FFFFFF_t_70 1]: /images/20220404/c3d456ca122949f9a90e899663131ca0.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE1OTU1NDIz_size_16_color_FFFFFF_t_70 2]: /images/20220404/840d070ef9b442d78dc8e6fd242efca5.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE1OTU1NDIz_size_16_color_FFFFFF_t_70 3]: /images/20220404/d14d8e2b96b44287a960b4e82e07568f.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE1OTU1NDIz_size_16_color_FFFFFF_t_70 4]: /images/20220404/778a33f2323e4d4c93ffbeff68f5fc21.png [https_xdebug.org_download.php]: https://xdebug.org/download.php [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE1OTU1NDIz_size_16_color_FFFFFF_t_70 5]: /images/20220404/0e8815bcd75b44c2a3c3f841b9544ed1.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE1OTU1NDIz_size_16_color_FFFFFF_t_70 6]: /images/20220404/49bff0dbcfda401bb803e855bf551dd1.png [20190616153422155.png]: /images/20220404/e6604a132a62487ab3acfb37a2469f22.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE1OTU1NDIz_size_16_color_FFFFFF_t_70 7]: /images/20220404/f089653f09f04296a3e72717da2bfe77.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE1OTU1NDIz_size_16_color_FFFFFF_t_70 8]: /images/20220404/af86a0ee940348e0b5855b5c5f4ef5be.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE1OTU1NDIz_size_16_color_FFFFFF_t_70 9]: /images/20220404/3df38582318d4cd592dcd53d1d21ecd6.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE1OTU1NDIz_size_16_color_FFFFFF_t_70 10]: /images/20220404/176d059c199f4cc5a6db440c3fd5e647.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE1OTU1NDIz_size_16_color_FFFFFF_t_70 11]: /images/20220404/cc63be8d12084451899855670307cf8f.png [20190616154854467.png]: /images/20220404/0379d06e3d71477db7d710e0a523a040.png [20190616164213718.png]: /images/20220404/9665eb00aea14f6d9e28ff69e67f1008.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE1OTU1NDIz_size_16_color_FFFFFF_t_70 12]: /images/20220404/72bc902b275045da89c81cef5df64a28.png [2019061616004425.png]: /images/20220404/513fa2748d4e4a72a61b03240827804f.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE1OTU1NDIz_size_16_color_FFFFFF_t_70 13]: /images/20220404/f8425774534d4b408bd2ca4462778832.png [20190616155905577.gif]: /images/20220404/955b6f30bab74ee0a73cf5dc4291e6c5.png [https_www.jetbrains.com_help_phpstorm_debug-tool-window.html]: https://www.jetbrains.com/help/phpstorm/debug-tool-window.html [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE1OTU1NDIz_size_16_color_FFFFFF_t_70 14]: /images/20220404/714a32e98aca426aa472e2d7c9304432.png [20190616160353555.gif]: /images/20220404/82e269082b514ec1af4977dd81e7afc9.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE1OTU1NDIz_size_16_color_FFFFFF_t_70 15]: /images/20220404/fb111b089f56431fa6aa511f511ba2b4.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE1OTU1NDIz_size_16_color_FFFFFF_t_70 16]: /images/20220404/067cb415ce6e4b5ba1407c8c007535b0.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE1OTU1NDIz_size_16_color_FFFFFF_t_70 17]: /images/20220404/7cf597245ae241a4b35afbd8880092ed.png [20190616164058554.png]: /images/20220404/372b7ff7a55743fbbc01d52008400e32.png [20190616164457178.png]: /images/20220404/6d994cba05014bc1abbeb40a5437d947.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE1OTU1NDIz_size_16_color_FFFFFF_t_70 18]: /images/20220404/48073ab6958943ca9d699feafa47b1e4.png [20190616165404223.gif]: /images/20220404/3d1e87e1c0db40c293075d6a4d3a26b1.png
还没有评论,来说两句吧...