Atom + Xdebug设置

时间:2016-03-08 10:56:08

标签: xdebug atom-editor homestead

我试图设置Xdebug,因为我厌倦了使用回声和var_dumps。 我使用Atom作为我的IDE php-debug plugin。 我使用laravel Homestead vm作为服务器。转发端口9000到9999 Atom安装了以下设置的插件: enter image description here

我在Atom中设置断点,我浏览到我的页面,但断点不会触发。 我有一种预感,它与IDE密钥有关,但我不知道如何继续。 enter image description here

有没有人知道atom的IDE密钥? 或者还有其他我想念的东西?

编辑:我已将以下内容添加到xdebug.ini:

xdebug.auto_trace = 0
xdebug.collect_includes = 1
xdebug.collect_params = 1
xdebug.collect_return = 0
xdebug.collect_vars = "Off"
xdebug.default_enable = "On"
xdebug.dump.COOKIE = ""
xdebug.dump.FILES = ""
xdebug.dump.GET = ""
xdebug.dump.POST = ""
xdebug.dump.REQUEST = ""
xdebug.dump.SERVER = ""
xdebug.dump.SESSION = ""
xdebug.dump_globals = 1
xdebug.dump_once = 1
xdebug.dump_undefined = 0
xdebug.extended_info = 1
xdebug.file_link_format = ""
xdebug.idekey = "VVVDEBUG"
xdebug.manual_url = "http://www.php.net"
xdebug.max_nesting_level = 100
xdebug.overload_var_dump = 1
xdebug.profiler_append = 0
xdebug.profiler_enable = 0
xdebug.profiler_enable_trigger = 1
xdebug.profiler_output_dir = "/tmp"
xdebug.profiler_output_name = "cachegrind.out.%t-%s"
xdebug.remote_autostart = 1
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "192.168.50.1"
xdebug.remote_log = /srv/log/xdebug-remote.log
xdebug.remote_mode = "req"
xdebug.remote_port = 9000
xdebug.show_exception_trace = 0
xdebug.show_local_vars = 0
xdebug.show_mem_delta = 0
xdebug.trace_format = 0
xdebug.trace_options = 0
xdebug.trace_output_dir = "/tmp"
xdebug.trace_output_name = "trace.%c"
xdebug.var_display_max_children = -1
xdebug.var_display_max_data = -1
xdebug.var_display_max_depth = -1

6 个答案:

答案 0 :(得分:5)

就像@sparkos72所说的那样,原子ide键xdebug.atom适用于Ubuntu 16.04和Debian 7 :-)。我试着扩展他们的答案。

我在xdebug.ini(路径:/etc/php5/apache2/conf.d/xdebug.ini)中使用了php-debug atom扩展名。

xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=172.17.0.1
xdebug.remote_port=9000
xdebug.idekey=xdebug.atom
xdebug.remote_autostart=true

我有一个debian 7 + apache + php 5的docker容器,这就是我使用ip 172.17.0.1而不是127.0.0.1的原因。我的“真正的”机器是Ubuntu。

希望它有所帮助。

答案 1 :(得分:1)

IDE键是我的xdebug.atom(mac / apache)。在Atom php-debug配置中,将服务器端口设置为9000

答案 2 :(得分:0)

我知道它已经晚了但是又来了:

您的.ini文件包含:

xdebug.idekey = "VVVDEBUG"

这意味着您需要在“最简单的Xdebug”扩展设置中设置值“VVVDEBUG”(不带引号),当前使用“Atom”

答案 3 :(得分:0)

没有一个答案适合我,所以我离开了我自己的一个。

<强>设置

  • 确保xdebug已启用; sudo phpenmod xdebug或同等的
  • 确保xdebug配置正确:
    • xdebug.remote_enable = 1
    • xdebug.remote_handler = dbgp
    • xdebug.remote_mode = REQ
    • xdebug.remote_host = 172.17.0.1(根据您的设置)
    • xdebug.remote_port = 9000(根据您的设置)
  • 没有xdebug.remote_autostart,因为即使是普通请求也会启动调试内容。因此,即使您未处于Chrome / Firefox扩展程序的调试模式,也会尝试传达调试数据,这可能会使事情变得缓慢。
  • 安装Xdebug chrome / firefox扩展程序并将IDE密钥设置为xdebug-atom(我发现xdebug.atom也正常工作)。

<强>调试

当你真的想调试一些东西时,

  • 在代码中添加断点; Alt + F9或同等的。
  • 在Atom中打开 PHP Debug 面板; Ctrl + Alt + D或同等资格。如果您使用的是某些版本的Ubuntu,则可能需要更改快捷方式Ctrl + Alt + D可能会充当显示桌面。在这种情况下,单击IDE中的 PHP Debug 按钮以切换调试器。
  • 调试器应该说 Listening to port 9000 或您在PHP Debug设置中设置的端口。
  • 在浏览器中打开要调试的页面(如果尚未打开),然后单击调试扩展图标以启用调试模式。这实际上会在您的文档中设置一个Cookie,如XDEBUG_SESSION=xdebug-atom等。
  • 启用调试扩展后,刷新页面,您应该能够使用调试器(如果一切正常)。

希望这会有所帮助。花了一段时间让它运作起来。现在我不必购买PHP Storm!

答案 4 :(得分:0)

对于PHP3.2 + ATOM + XAMPP + XDEBUG Helper,IDE键是xdebug-atom,强烈建议使用XDEBUG Helper,你可以在那里设置IDE密钥。

答案 5 :(得分:0)

我正在尝试同样的事情,但从未找到真正的解决方案,我看到 xdebug 在发现错误异常时开始调试我在需要调试时开始在代码中放入错误并且运行良好,例如将此代码放入您要调试的行。

@xdebug_start: 

观看魔术。

我做了一个安装插件的视频。 https://www.youtube.com/watch?v=jD0TIzYMFzQ