我需要在无法从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的呼叫。我很高兴听到其他没有那么复杂的建议。