【总结2】PhpStorm利用XDebug调试PHP技巧
在写完 【总结1】PhpStorm配置XDebug(远程)调试PHP 后,发现PhpStorm调试PHP还有一个技巧,如下图所示:
路径:File -> Settings -> Languages & Frameworks -> PHP -> Debug
点击弹出框最下面链接,进入页面:
http://www.jetbrains.com/phpstorm/marklets/
这里有个 PhpStorm 的 “XDebug 书签生成器”
输入 IDE key,保持默认的 PHPSTORM 即可,再点击 “Generate”按钮,输出如下内容:
拖动我常用的2个功能链接“Start debugger”和“Stop debugger”到“书签栏”上,
修改上面2个书签,你会发现
“Start debugger”的内容为:
javascript:(/** @version 0.5.2 */function() {document.cookie='XDEBUG_SESSION='+'PHPSTORM'+';path=/;';})()
意思是,点击书签时,会产生 一个名为 XDEBUG_SESSION,值为 PHPSTORM 的 Cookie对象,如下图所示:
不过,这个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 的监听;
第三步:在当前“调试页面”(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 中的 “第四步:设置调试项”都不用做了!