在docker-compose中具有PhpStorm / Idea和Symfony的Xdebug:仅在第一个文件index_dev.php处中断

时间:2019-03-05 08:43:13

标签: php symfony docker xdebug

我正在将Idea Ultimate与PHP插件一起使用。 # Make plot static_plot <- ggplot(map_df, aes(x = long, y = lat, group = group)) + geom_polygon(color = "black", aes(fill = as.factor(detection_year))) + scale_fill_manual(values = terrain.colors(n = length(unique(map_df$detection_year))), name = "Year EAB First Detected") + theme_void() + coord_fixed(1.3) animate_plot <- static_plot + transition_reveal(subregion, # same as the group variable lubridate::year(paste0(detection_year, "-01-01"))) # move along years 似乎还可以,我已经用想法脚本验证了配置。

enter image description here

使用的请求是phpinfo()。我可以在index_dev()中的任何地方放置一个断点,或使用xdebug_break();

但是我以后无法停止一个文件,例如Symfony控制器。

我有一条消息说http://localhost:8080/web/index_dev.php/create-file,并提出了docker实例和我的本地卷之间的映射。

enter image description here

对我来说很好,它可以在此主目录中找到Debug session was finished without being paused

那么问题出在哪里呢?

1 个答案:

答案 0 :(得分:0)

首先,您需要检查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_KEY:PHPSTORM
    5. 单击“应用”,然后单击“确定”
    6. 然后单击小“甲虫”(将鼠标移到上方时,它会弹出“ 调试'{您之前定义的远程服务器的名称}'

      < / li>
    7. 在要调试的控制器的第一行中添加一个断点

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

希望它对您有所帮助。