如何调试由第三台服务器调用的远程PHP脚本

时间:2019-04-01 18:19:51

标签: php netbeans xdebug

我需要在无法从Web浏览器调用的远程服务器上调试PHP脚本。而是由第三方服务器将其称为Web挂钩。 最好是,我想使Webhook启动一个远程Xdebug会话,并逐步浏览我正在使用的NetBeans IDE中的代码。

我正在使用SSH隧道将远程调试器连接到我的开发计算机。

我无法在Webhook上使用GET / POST / COOKIE变量,因此我设置了dict_functions = { '1' : foo1, '2' : foo2, '3' : foo3, '4' : foo4} user_input = input("What Number foo do you want to run? ") dict_functions[user_input]() 来使调试会话开始。
我在页面上添加了两个断点,并在从第三台服务器启动webhook调用时在IDE编辑器中将其打开。

仍然没有启动调试会话。我知道该页面已执行,因为我已经向其中添加了一些日志记录命令。 可以做我想做的吗?感谢您的任何提示和评论!

回答时请注意:我将不接受任何建议记录到文件的答案,因为那是我已经在做的事情。 谢谢!

这是我的php.ini的Xdebug部分(是的,它是正确的php.ini文件实例):

xdebug.remote_autostart=1

这是会话的Xdebug日志。

xdebug.idekey="netbeans-xdebug"
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_connect_back=0
xdebug.remote_autostart=1
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000

调试会话已启动,但是由于某些原因,IDE似乎并不起作用。可能是因为uri中缺少idekey吗?由于webhook源自第三方,因此我无法添加idekey。可以选择将Webhook发送到代理并转发带有添加的idekey的呼叫。我很高兴听到其他没有那么复杂的建议。

0 个答案:

没有答案