netbeans没有停在断点上

时间:2011-12-28 17:52:22

标签: php netbeans ide

我有xdebug正在运行,但是我把断点永远停在哪里并不重要。

的php.ini

[xdebug]
zend_extension_ts = c:\wamp\bin\php\php5.2.8\ext\php_xdebug-2.1.2-5.2-vc6.dll
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=Chris-Pc
xdebug.remote_port=9000

8 个答案:

答案 0 :(得分:7)

此处未提及的另一个提示:确保正确设置了您的Web根目录。

转到文件 - >项目属性 - >来源 - > Web root - >浏览并选择您的实际Web根目录。

我的配置是Kubuntu 15.04,PhP 5.5,我正在开发CakePhP应用程序,我必须将我的webroot目录设置为/ app / webroot [或/ app / View / Theme / webroot,以防你再次使用使用主题]。如果没有这个设置,xdebug会忽略断点,尽管其他工作方式(实际上是在index.php文件的第一行停止)。

答案 1 :(得分:5)

我问同样的事情并得到了这个非常好的答案:How to track execution time of each line / block of lines / methods in PHP?

关于这方面的一些补充说明(我在自己的研究中收集的其他SO帖子中有这个问题):

  1. 端口可能也是9001(似乎适用于某些人,而9000则不适用)。
  2. 切换到PHPStorm IDE是解决此问题的真正替代方案(因为PHPStorm已经包含了完美运行的xdebug)。
  3. 通过向导(https://xdebug.org/wizard.php)下载新版本的xdebug,如果您按照说明操作,也许您会很幸运。
  4. 关闭防火墙可能会有所帮助。
  5. 添加到php.ini xdebug.idekey = netbeans-xdebug。
  6. 找出你是否有一个xdebug.ini文件,并将xdebug相关的php.ini行添加到该文件中。
  7. 你必须取消对zend_extension行的评论(即在其begninning处删除';',所以实际上已经加载了Xdebug。
  8. 确保加载Xdebug,从PHP文件调用phpinfo()(只是为了确定)。

答案 2 :(得分:4)

您可以尝试以下几种方法:

  1. 检查端口是否可用(或尝试使用不同的端口)
  2. 确保在netbeans中选择了端口
  3. 使用IP而不是pc-name
  4. 使用https://chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc
  5. 等浏览器扩展程序
  6. 在代码中使用“xdebug_break()”以查看它是否在那里中断
  7. 检查你的phpinfo()以查看xdebug是否已加载

答案 3 :(得分:4)

我有一个类似的问题,并遇到一个帖子来解决问题。我的html表单(testform.html)调用了一个php脚本(runQuery.php),Netbeans无法在runQuery.php的设置断点处中断

通过在像这样的论坛上搜索检查php.ini和Netbeans中的所有配置设置后,我发现如果项目的索引文件是PHP文件,netbeans将仅在断点处中断。这非常重要,否则你将花费数小时试图弄清楚为什么断点不起作用。

在Netbeans中,进入文件/项目属性/运行配置,检查索引文件是否为PHP文件。在我的情况下,我将我的索引文件从testform.html更改为testform.php并且它工作正常,我能够突破断点。

亚萨尔

答案 4 :(得分:2)

确保您的netbeans设置如下:

工具 - >选项  对话框现在将打开点击PHP  点击调试有多个标签  并检查调试器端口是否为9000

答案 5 :(得分:1)

最好是通过SSH隧道,将远程主机设置为localhost。它可以防止你使用防火墙,nat或端口转发来搞乱ip。

答案 6 :(得分:1)

请检查一下。在你的php.ini中确保启用所有这些选项。否则将其添加到php.ini文件的末尾(例如 /etc/php/5.6/apache2/php.ini )。

[xdebug]
zend_extension="/usr/lib/php5/20121212/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_autostart=1
xdebug.default_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.idekey="netbeans-xdebug"

检查文件系统中xdebug.so的路径(/ usr / lib / php5 / 20121212 /),相应地更改zend_extension值。

第一行的zend_extension值适用于ubuntu用户。我认为变量无需改变。请取消选中第一行的停靠点( tools-> options-> php-> Debugging )。

答案 7 :(得分:0)

端口9000是否可供使用,请尝试将其更改为9001(Netbeans和php.ini)。 我首先尝试使用xdebug_break()进行断点,然后查看" Variables"中显示的内容。窗口。至少必须展示超级全球。

顺便说一句:IDE的断点(左侧:行号)无法在空行或带注释的行上创建,它必须包含一些代码。