代码之家  ›  专栏  ›  技术社区  ›  Nicolas Zozol

docker compose中带有phpstorm/idea和symfony的xdebug:breaks only at first file index_dev.php

  •  0
  • Nicolas Zozol  · 技术社区  · 7 年前

    我正在使用idea ultimate和php插件。 phpinfo() 看起来没问题,我已经用idea脚本验证了配置。

    enter image description here

    使用的请求是 http://localhost:8080/web/index_dev.php/create-file . 我可以在index_dev()或xdebug_break()中的任意位置放置断点;

    但是我不能在以后停止一个文件,比如symfony控制器。

    我有个消息说 Debug session was finished without being paused 并提出Docker实例和我的本地卷之间的映射。

    enter image description here

    在我看来很好,它能找到 index_dev.php 在这个主目录里。

    那么问题出在哪里呢?

    0 回复  |  直到 7 年前
        1
  •  0
  •   thafirstone    7 年前

    首先,你需要检查IP地址,我假设你在Linux上。 所以试着

    ifconfig
    

    然后,找到“docker0”行,取“inet”值。用它替换远程主机值。通常Docker的IP地址类似于“172.17.0.1”。

    请检查Docker xdebug配置中是否定义了IDEKEY

    idekey=PHPSTORM
    

    所以换一个,再跑一次。

    如果它不能解决您的问题,请考虑在phpstorm中正确配置xdebug远程服务器。

    • 设置>语言和框架>php>调试 变化 默认端口为9000
    • 在中创建服务器 设置>语言和框架>php> 服务器 有了这些信息

      1. 姓名:你想要什么都行
      2. 主机:你的应用程序主机(我的通常是“localhost”)
      3. 端口:你的应用程序端口(我的80)
      4. 单击“应用”,然后单击“确定”
      5. 关闭设置
    • 现在您必须配置远程调试,它将监听 连接

      1. 在phpstorm左上角,单击“ 编辑配置
      2. 点击 + 并选择 php远程调试
      3. 输入你想要的名字 4服务器:选择在“设置”面板中创建的上一个服务器
      4. 进入 IDE U键:phpstorm
      5. 单击“应用”,然后单击“确定”
      6. 然后点击小“甲虫”(当你把鼠标移过去时,它会弹出) 调试{以前定义的远程服务器的名称}

      7. 在要调试的控制器的第一行中添加断点

      8. 在浏览器中,转到匹配的路线
      9. 然后魔法就来了!!!!!!!

    希望对你有帮助。

    推荐文章