Php 代码点火器+;NetBeans+;XDebug:重定向()后调试器不工作
我正在从事一个使用Php 代码点火器+;NetBeans+;XDebug:重定向()后调试器不工作,php,codeigniter,netbeans,netbeans-7,xdebug,Php,Codeigniter,Netbeans,Netbeans 7,Xdebug,我正在从事一个使用CodeIgniter的项目。我使用Netbeans作为IDE,并且安装了Xdebug。我正在使用XAMPP进行本地开发 工作原理:Xdebug在普通PHP代码中运行良好。 问题:但是,我在调试CodeIgniter项目时遇到了问题。调试器在重定向()时停止 问题详细信息:在netbeans中启动调试项目。调试器启动,我们看到主页。在主页上,有一个链接对应于主页控制器中的方法。调试器到达链接指向的控制器中的方法。在这个方法中有一个重定向在重定向调试器停止时。 相关代码片段: 单
CodeIgniter
的项目。我使用Netbeans
作为IDE,并且安装了Xdebug
。我正在使用XAMPP
进行本地开发
工作原理:Xdebug在普通PHP代码中运行良好。
问题:但是,我在调试CodeIgniter
项目时遇到了问题。调试器在重定向()时停止
问题详细信息:在netbeans中启动调试项目。调试器启动,我们看到主页。在主页上,有一个链接对应于主页控制器中的方法。调试器到达链接指向的控制器中的方法。在这个方法中有一个重定向
在重定向调试器停止时。
相关代码片段:
单击的URL(这是标题菜单的一部分)
在我的Foo控制器(Foo.php)中:
如上所述,在函数somefunc()中的注释中,Xdebug在重定向发生的位置停止工作
此外,以下信息可能会有所帮助:
config.php
$config['uri_protocol'] = 'AUTO'; // I have also tried PATH_INFO, QUERY_STRING, REQUEST_URI & ORIG_PATH_INFO.
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';
$config['enable_query_strings'] = TRUE; // Have tried FALSE too.
$config['index_page'] = ''; // Tried index.php too.
xdebugphp.ini中的设置
zend_extension ="path\to\xampp\php\ext\php_xdebug.dll"
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
注意-我已经尝试过使用我在这里以及通过谷歌看到的不同建议,但没有效果。有人能给我指出正确的方向吗?找到了解决办法。也许这可以帮助其他一直在努力解决这个问题的人。显然,为了能够顺利进行调试,您需要包括以下选项:
xdebug.remote_autostart=1
在您的php.ini
中。这些设置现在适用于我:
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_autostart=1
最后一行是我在()上找到的选项。文件的相关部分如下所述:
xdebug.remote\u autostart
类型:布尔值,默认值:0
通常需要使用特定的HTTP GET/POST变量来启动远程调试(请参阅远程调试)。当此设置设置为1时,Xdebug将始终尝试启动远程调试会话并尝试连接到客户端,即使GET/POST/COOKIE变量不存在。我发现了相同的问题,并通过升级我的Xdebug版本修复了它
在我使用的版本(xdebug 2.1.3)中似乎有一个bug,但在xdebug 2.2.3上一切正常
使用此工具可获得适用于您的环境的自定义安装说明。
请注意,netbeans不能与$\u服务器['PATH\u INFO']
和类似http://127.0.0.1/site/test.php/v1/v2/parametertoputonphpathinfo/v3
,2013年9月9日星期一上午8:54在netbeans板上有一个错误,直到2014年才有回应:
这使得使用sinatra方法路由请求无法调试框架。
重写我的简单Sinatra路由器,使其具有要调试的$\u GET模式和更好的挂钩代码。您可能需要在它重定向到的任何脚本中再次开始调试。通常,redirect()
函数包括一个出口代码>声明。嗨,山姆,谢谢你的评论。你的建议确实有效,但我希望有一个更可靠的解决方案。谢谢。我也有同样的问题,然后试试你的建议:xdebug.remote_autostart=1,现在它可以工作了。你是男人中的上帝,感谢你回答自己的问题。哦,你救了我一天欢迎来到Stackoverflow gsd15s6d465,你的答案对我来说很好。您是否愿意通过在短语周围使用反勾(`
)为代码片段和路径使用正确的内联代码格式?
zend_extension ="path\to\xampp\php\ext\php_xdebug.dll"
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_autostart=1
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_autostart=1