【问题标题】:How to debug PHP with netbeans and Xdebug如何使用 netbeans 和 Xdebug 调试 PHP
【发布时间】:2010-10-16 03:18:05
【问题描述】:

我最近尝试使用 Netbeans 6.5,因为它在 Smashing 杂志的 IDE 评论中获得如此高的评价。 http://www.smashingmagazine.com/2009/02/11/the-big-php-ides-test-why-use-oneand-which-to-choose/

我从 Notepad++ 切换的主要原因是我希望能够调试我的代码并通过它进行设置。

我已按照供应商http://xdebug.org/ 和netbeans 网站上有关如何安装xdebug 的说明进行操作。 http://www.netbeans.org/kb/docs/php/debugging.html#gettingReady 但无济于事。

它是怎么做的,有其他人在 netbeans 中调试过吗?

(我的设置是:Windows XP、Wamp server 2.0、PHP 5、Netbeans 6.5.1)

【问题讨论】:

  • 在您浪费大量时间试图弄清楚如何让 Netbeans 调试以使用 mod_rewrite 之前,它不会。请参阅 netbeans.org/bugzilla/show_bug.cgi?id=152262与命令行和 .php 文件一起使用。
  • 仅供参考,获得 3 次反对票的人,又名 Derick Rethans,编写了 xdebug。他不是母语人士,所以仅供参考。

标签: php debugging netbeans xdebug


【解决方案1】:

在 php.ini 中添加这一行很重要:

xdebug.idekey="netbeans-xdebug"

注意:在 NetBeans 中,转到设置并查看 xdebug 设置的位置。查找该会话 ID。就我而言,它是 netbeans-xdebug。

【讨论】:

    【解决方案2】:

    嗯,对我来说,netbeans 是 php 调试开箱即用的第一个 ide。

    xdebug 是否显示在 phpinfo 中?如果是这样,它应该使用默认设置。唯一需要的是:

    xdebug.remote_enable=on
    

    因此,如果未启用,请将其放入您的 php.ini 文件中,重新启动 apache,调试应该可以工作了。

    如果没有,您将不得不提供更多信息让我帮助您。

    sy

    【讨论】:

      【解决方案3】:

      我发现 WAMP 在安装 Mod_rewrite 和 cURL 时无法处理 Xdebug。

      这是一个已知错误,每次都会崩溃。

      http://phphints.wordpress.com/2008/10/24/wampserver-phpini-settings-for-use-with-xdebugdll-pear-and-silverstripe-cms-framework/

      不幸的是,我也在使用这两个库。

      【讨论】:

        【解决方案4】:

        xdebug 给出 curl 或 mod_rewrite 的问题并不是一个已知问题。我知道的唯一问题是 Vista 上的 Xdebug。

        【讨论】:

        • “xdebug 给出 curl 或 mod_rewrite 的问题” - 你能说得更具体点吗?
        【解决方案5】:

        你可以在这里看到: http://ruilima.com/2010/11/ambiente_de_desenvolvimento_php_netbeans_xdebug/ 是葡萄牙语,但是有一个预配置的虚拟机,带有 Ubuntu 10.10、netbeans、php、mysql、xdebug,可以使用。看看

        【讨论】:

        • 一个非常有用的指南。感谢您花时间编写它。
        【解决方案6】:

        我发现在 Netbeans 中你需要将项目中的 webroot 路径设置为 app/webroot。如果你这样做调试工作完美无缺。

        【讨论】:

          【解决方案7】:

          如果你在 Windows 下使用 xampp:

          你只需要打开你的php.ini文件并改变这两行

          ;xdebug.profiler_enable = 0
          ;zend_extension = "C:\xampp\php\ext\php_xdebug.dll"
          

          进入

          xdebug.profiler_enable = 1
          zend_extension = "C:\xampp\php\ext\php_xdebug.dll"
          

          (注意:如果你的xampp版本太旧,必须从http://xdebug.org/download.php下载,即使你的操作系统是64位也要下载32位。例如你下载的xdebug的名字是php_xdebug-2.2.1-5.4 -vc9.dll。首先将php_xdebug-2.2.1-5.4-vc9.dll复制到目录C:\xampp\php\ext\,那么你的第二行就是zend_extension = "C:\xampp\php\ext\php_xdebug-2.2.1-5.4-vc9.dll)

          然后停止 apache 并重新启动,就是这样。

          【讨论】:

            【解决方案8】:

            如果您遇到 Apache 决定在您运行调试器时崩溃的问题(这是我遇到的问题,而且非常烦人)。我很确定我重新安装了 xampp 并重新设置了 xdebug。我认为问题在于在 php.ini 中奇怪地设置了 zend-debugger,而我没有修改正确的 php.ini。

            最终在重新安装并重置后,我得到了它的工作正常。

            我现在运行 Netbeans 的开发版本,它使用 xdebug 进行网络调试,所以我们在我们的开发服务器上运行它,它工作得很好。

            祝你好运,没有关于如何使用 net beans 设置 xdebug 的特别好的文档。

            【讨论】:

              【解决方案9】:

              我在使用 NetBeans 和 XDebug 时偶尔会遇到问题,这些问题归结为存在与正在调试的代码无关的 Watch 语句。

              在这种情况下,调试器会因 Socket 异常而失败。

              如果您发现这是导致问题的原因,请移除所有手表。一般来说,虽然我发现 XDebug 非常方便!

              我确实意识到这可能与您在这里遇到的问题无关,但值得注意。

              【讨论】:

                【解决方案10】:

                在同一个站点PHP Netbeans: xdebug stops on every include() or require()找到了同样问题的解决方案

                【讨论】:

                  【解决方案11】:

                  错了,忘记了

                  [xdebug]
                  

                  作为 php-ini 中的节头。当然,在另一个部分开始之前“停放”你的东西(例如 [Date] 或 [iconv]),否则你会不小心将它们放在错误的部分中。 (在 php.ini 的评论 djungle 中,这很容易发生。)

                  【讨论】:

                    【解决方案12】:

                    在我的情况下,它是在我的机器 (Windows 7) 上运行的一个进程,它使用的端口 9000 已经称为aeagent.exe

                    我将我的 php.ini 设置更改为“xdebug.remote_port=9001”,在 netbeans 中进行了相应的更改,然后重新启动了 Apache。现在可以了。

                    感谢 SysInternals TCPView 工具。

                    【讨论】:

                      【解决方案13】:

                      转到http://wiki.netbeans.org/HowToConfigureXDebug。您应该遵循一系列步骤,这可能会对您有所帮助。

                      但很可能您只需要一个新版本的 xdebug-binary。转到http://xdebug.org/wizard.php 了解您需要什么二进制文件,您的问题可能会得到解决。

                      【讨论】:

                        【解决方案14】:

                        在 Ubuntu 下运行 netbeans 时,我也遇到了这个问题,似乎我已经尝试了在互联网上找到的所有解决方案,但都是徒劳的。

                        最终唯一有帮助的是使用 SUDO 命令运行 netbeans!看起来普通用户没有权限监听端口 9000(或任何其他端口)。

                        sudo netbeans &
                        

                        ...瞧,我又可以调试了!也许它会为您节省一两天

                        【讨论】:

                          【解决方案15】:

                          在浪费了 3 个小时让 xdebug 使用 wamp 2.2 在 Windows8 上工作之后,现在它可以工作了 用以下替换 [xdebug] 下面的原始行

                              zend_extension = "c:/wamp/bin/php/php5.3.13/zend_ext/php_xdebug-2.2.0-5.3-vc9.dll"
                              ;make sure path of your own php_xdebug, dll version may vary.
                          
                              [xdebug]
                          
                              xdebug.remote_enable = on
                              xdebug.remote_handler=dbgp
                              xdebug.remote_host=localhost
                              xdebug.remote_port=9000
                          ;recheck your port number in netbeans [Tools=>options=>php=>debugging there it is: debugging port]
                              xdebug.profiler_enable = on
                              xdebug.profiler_enable_trigger = on
                              xdebug.profiler_output_name = cachegrind.out.%t.%p
                              xdebug.profiler_output_dir = "c:/wamp/tmp"
                          

                          现在点击任务栏中的 wamp 图标并“重启所有服务”

                          嗯..现在是最后一步>>START NETBEANS 作为管理员 windows8的冬青灵魂我恨你:

                          【讨论】:

                            【解决方案16】:

                            【讨论】:

                              猜你喜欢
                              • 2020-11-21
                              • 1970-01-01
                              • 2013-06-17
                              • 2011-02-26
                              • 2014-05-21
                              • 1970-01-01
                              • 2012-04-06
                              • 2016-03-23
                              • 2011-12-10
                              相关资源
                              最近更新 更多