Vagrant 用Xdebug调试虚拟漫游盒上的文件

Vagrant 用Xdebug调试虚拟漫游盒上的文件,vagrant,phpstorm,xdebug,Vagrant,Phpstorm,Xdebug,我在我的MacBook上有一台流浪的虚拟机,上面运行着一个网站 我想检查名为$logs的变量中的内容。我已经使用Chrome扩展在浏览器中设置了cookie,我正在监听PHP调试连接,并设置了一个断点。如果选择“运行”菜单并单击“调试sitelog.module”,则会出现一些错误 我不知道如何配置这个?我的最终目标是检查$logs的内容。谢谢。我不再使用cookies进行调试,因为我发现在xdebug中启用cookies更容易调试 无论如何,我建议您首先创建一个PHP Web应用程序,并为该W

我在我的MacBook上有一台流浪的虚拟机,上面运行着一个网站

我想检查名为$logs的变量中的内容。我已经使用Chrome扩展在浏览器中设置了cookie,我正在监听PHP调试连接,并设置了一个断点。如果选择“运行”菜单并单击“调试sitelog.module”,则会出现一些错误


我不知道如何配置这个?我的最终目标是检查$logs的内容。谢谢。

我不再使用cookies进行调试,因为我发现在xdebug中启用cookies更容易调试

无论如何,我建议您首先创建一个PHP Web应用程序,并为该Web应用程序定义一个服务器。为此:

  • 导航栏可见时(查看|导航栏),可用的运行/调试配置将显示在运行区域的运行/调试配置选择器中
  • 在“运行/调试配置”对话框中,单击工具栏上的+(添加)。下拉列表显示默认的运行/调试配置。选择所需的配置类型(即:PHP Web应用程序)

  • 通过单击。。。服务器下拉列表旁边的图标

  • 在服务器配置中,填写名称、主机和端口,并选中使用路径映射复选框

  • 定义路径映射,方法是在左侧(主机)选择所需路径,然后提供到来宾计算机中相同位置的路径(定义来宾计算机的路径后,按输入字段上的enter键)

  • 有了它,您应该能够使用XDEBUG cookie进行调试。如果您想尝试远程调试选项(IMO更简单),那么将其添加到xdebug.ini中

    zend_extension=xdebug.so
    xdebug.auto_trace="0"
    xdebug.trace_output_dir="/vagrant"
    xdebug.trace_output_name="trace.%c"
    xdebug.trace_format="2"
    xdebug.trace_options="0"
    xdebug.collect_includes="1"
    xdebug.collect_params="0"
    xdebug.collect_return="0"
    xdebug.collect_vars="0"
    xdebug.default_enable="1"
    xdebug.extended_info="1"
    xdebug.manual_url="http://www.php.net"
    xdebug.max_nesting_level="256"
    xdebug.show_error_trace="0"
    xdebug.show_exception_trace="0"
    xdebug.show_local_vars="0"
    xdebug.show_mem_delta="1"
    xdebug.dump.COOKIE="NULL"
    xdebug.dump.ENV="NULL"
    xdebug.dump.FILES="NULL"
    xdebug.dump.GET="NULL"
    xdebug.dump.POST="NULL"
    xdebug.dump.REQUEST="NULL"
    xdebug.dump.SERVER="NULL"
    xdebug.dump.SESSION="NULL"
    xdebug.dump_globals="1"
    xdebug.dump_once="1"
    xdebug.dump_undefined="0"
    xdebug.overload_var_dump="2"
    xdebug.profiler_enable="0"
    xdebug.profiler_output_dir="/vagrant"
    xdebug.profiler_output_name="cachegrind.out.%p"
    xdebug.profiler_enable_trigger="0"
    xdebug.profiler_append="0"
    xdebug.profiler_aggregate="0"
    xdebug.remote_enable="1"
    xdebug.remote_handler="dbgp"
    xdebug.remote_host="192.168.33.1"
    xdebug.remote_mode="req"
    xdebug.remote_port="9000"
    xdebug.remote_autostart="1"
    xdebug.remote_log=""
    xdebug.idekey=""
    xdebug.var_display_max_data="512"
    xdebug.var_display_max_depth="2"
    xdebug.var_display_max_children="128"
    
    如果需要,请确保调整远程主机ip。将此更改保存到xdebug.ini后,开始调试所需做的就是启用开始侦听PHP调试连接图标(看起来像电话)

    参考:


    您是否已经定义了路径映射?您还可以向我们展示您的xdebug.ini,当然,它有几个项目要用xdebug调试。我是否需要为每个项目提供单独的配置,或者这只是一个一次性设置,对每个项目都有效?这取决于您如何构建项目,如果每个项目都有自己的vagrant box,那么您应该为每个box设置单独的项目。但是,如果您的所有项目都在同一个共享文件夹中,您也可以对所有项目使用一种配置。在“本地”上,我的所有项目都位于我的流浪者框上的
    User/PhpstormProjects/projects/project2/
    下,映射到
    /var/www/project1
    /var/www/project2
    。这些都是吗在同一个流浪者盒子上的项目?如果是这样的话,那么您可以这样设置映射:
    User/PhpstormProjects/
    ->
    /var/www/
    ,那么,您的解决方案,上面,是不是打算在我的问题的第一个图像的左下角挤压错误?