我使用NetBeans和Xdebug处理PHP代码。我使用Xdebug进行逐步调试等。
我能够调试默认请求的流,但不能调试特定的_get / _post或Ajax请求生成的流。
任何人都知道如何做到这一点?
当我运行调试器时,浏览器中的选项卡会自动打开,并显示以下URL: http://localhost/?XDEBUG_SESSION_START=netbeans-xdebug
感谢。 吉迪
答案 0 :(得分:1)
好的,
就是这样:
在项目标签(我的配置中屏幕的左上角),右键单击项目名称,然后是属性=>运行配置
你必须填写3个表格: 1. project url - web上项目的基本URL,通常为http://localhost 2.索引文件 - 使用浏览按钮并转到index.php的本地副本或为您提供此角色的任何文件。此表单应包含本地文件系统中此文件的路径,而不是Web上的路径 3. arguments - 您希望通过URL
访问脚本的任何参数这样您就可以选择自定义URL进行调试
可能的问题:在此过程中,您可能会丢失Web地址与系统中相应文件之间的同步。如果你遇到这种性质的问题,谷歌“在PHP调试器中的路径映射”,并采取第一个结果(系统不允许我直接链接)。 然而,这对我不起作用。我使用服务器配置通过重定向URL来解决这个问题
吉迪
P.S。 以上所有内容都没有解释如何在调试时将POST变量传递给脚本(我确实不知道如何操作)
答案 1 :(得分:-1)
也许您尝试按上述方式启动调试会话。作为调试目标,您可以在工作流程中选择最接近POST请求的页面。然后,您与Web服务进行交互,始终在netbeans中运行调试器。通过调试会话保持的交互,您可以填写表单等并发送POST请求。然后像往常一样切换到netbeans并进行调试。
也许您必须在调试选项中启用“Break at first line”,或者在调度请求的php代码中设置断点,以确保调度器在调度POST请求时暂停。然后,您最终将不得不在每次加载页面时调试调试器。
希望有所帮助