【发布时间】:2017-03-08 02:28:57
【问题描述】:
当我直接访问我的服务器时(通过 homestead/vagrant 设置的 IP 的 vhost 条目),我的 xdebug 工作得很好。但是,我有一个在 localhost:8080 上运行的解耦前端,它与那个 laravel 后端服务器通信,但 xdebug 不会在这些请求上触发。我认为我只需要在来自前端的请求中设置 cookie XDEBUG_SESSION=PHPSTORM,但是我不确定如何使用 vue-resource 来做到这一点,因为我什么也没看到在文档中。我尝试了以下方法:
Vue.http.headers.common['Cookie'] = 'XDEBUG_SESSION=PHPSTORM'
但是,我收到了 chrome 的警告 Refused to set unsafe header "Cookie"。有人对我可以尝试的其他方法有什么想法吗?
【问题讨论】:
-
顺便说一句,我刚刚测试过,我可以手动添加
?XDEBUG_SESSION_START=PHPSTORM作为获取参数,它成功触发 xdebug,所以我很确定我是否可以弄清楚如何在每个请求中添加该 cookie vue-resource 我应该是金色的 -
a)
xdebug.remote_autostart = 1在您的 php.ini 中 -- 将尝试调试每个请求(无论 cookie 或 GET/POST 参数如何)b) 将xdebug_break();放置在实际的 PHP 代码中——程序断点也将启动调试会话(缺点——需要为此编辑 PHP 代码)PS 这些是通用解决方案,与使用的编辑器(在我们的例子中是 PhpStorm)。 -
这很好用。不得不添加
xdebug_break()有点烦人,但我会用它代替其他东西。如果您想重新发布作为答案,我会接受! -
FWIW 我刚刚添加了一个正常的断点,没有
xdebug_break(),它仍然有效,很好! -
如果你做了 A) 和 B) 那就不足为奇了——它们是替代方法(所以应该阅读
a) OR b))
标签: php phpstorm vue.js xdebug