Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 代码点火器+;NetBeans+;XDebug:重定向()后调试器不工作_Php_Codeigniter_Netbeans_Netbeans 7_Xdebug - Fatal编程技术网

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