不灭的焱

革命尚未成功,同志仍须努力下载JDK17

作者:Albert.Wen  添加时间:2015-03-25 23:29:27  修改时间:2024-05-30 15:41:07  分类:电脑/软件使用  编辑

在写完 【总结1】PhpStorm配置XDebug(远程)调试PHP 后,发现PhpStorm调试PHP还有一个技巧,如下图所示:

路径:File -> Settings -> Languages & Frameworks -> PHP -> Debug

phpstrom-debug-07.png

点击弹出框最下面链接,进入页面:

http://www.jetbrains.com/phpstorm/marklets/

这里有个 PhpStorm 的 “XDebug 书签生成器

phpstrom-debug-08.png

输入 IDE key,保持默认的 PHPSTORM 即可,再点击 “Generate”按钮,输出如下内容:

phpstrom-debug-09.png

拖动我常用的2个功能链接“Start debugger”和“Stop debugger”到“书签栏”上,

phpstrom-debug-10.png

修改上面2个书签,你会发现

Start debugger”的内容为:

javascript:(/** @version 0.5.2 */function() {document.cookie='XDEBUG_SESSION='+'PHPSTORM'+';path=/;';})()

意思是,点击书签时,会产生 一个名为 XDEBUG_SESSION,值为 PHPSTORM 的 Cookie对象,如下图所示:

phpstrom-debug-12.png

不过,这个Cookie的有效期为Session,即浏览器一关闭就自动消除,下次要调试还的点“Start debugger”,干脆把Cookie的有效期改为365天吧,修改后的代码如下:

javascript:(function() {var date = new Date(); date.setTime(date.getTime() + (365 * 24 * 60 * 60 * 1000)); document.cookie = 'XDEBUG_SESSION=' + 'PHPSTORM' + '; path=/; expires=' + date.toUTCString();})()

 

Stop debugger”的内容为:

javascript:(/** @version 0.5.2 */function() {document.cookie='XDEBUG_SESSION='+''+';expires=Mon, 05 Jul 2000 00:00:00 GMT;path=/;';})()

意思是,点击书签时,会清除名为 XDEBUG_SESSION 的 Cookie对象

 

 

接下来调试PHP就更加简单了,还是以上一节提到的页面 http://127.0.0.4:8088/home/Test/test 为例吧!

第一步:在浏览器中打开“调试页面”,如 http://127.0.0.4:8088/home/Test/test

第二步:点击工具栏上的“电话按钮”,打开 PHP Debug Connections 的监听;

phpstrom-debug-11.png

 

第三步:在当前“调试页面”(http://127.0.0.4:8088/home/Test/test)中,点击书签栏上的“Start debugger”书签;

主要是让Start debugger产生的Cookie的domain值,跟当前页面的domain保持一致。

 

第四步:在调试的PHP页面中设置好PHP断点,然后刷新“调试页面”,立马进入断点处。

注意:其他页面的调试,就可以直接设置好断点,然后在浏览器中回车浏览即可进入断点调试,不需要再点击“电话按钮”和“Start debugger”了!

也可以“Debug this page”书签来调试当前页。

 

也就是说,上一篇文章 【总结1】PhpStorm配置XDebug(远程)调试PHP 中的 “第四步:设置调试项”都不用做了!