php - 在 docker-compose 中使用 PhpStorm/Idea 和 Symfony 进行 Xdebug:仅在第一个文件 index_dev.php 处中断
问题描述
我正在使用带有 PHP 插件的 Idea Ultimate。
phpinfo()
似乎没问题,我已经用想法脚本验证了配置。
使用的请求是http://localhost:8080/web/index_dev.php/create-file
. 我可以在 index_dev() 的任何位置放置断点或使用 xdebug_break();
但是我不能稍后停止一个文件,例如 Symfony 控制器。
我有一条消息说Debug session was finished without being paused
并建议在 docker 实例和我的本地卷之间建立映射。
对我来说看起来不错,它能够index_dev.php
在这个主目录中找到。
那么问题出在哪里?
解决方案
首先,你需要检查 IP 地址,我假设你在 linux 上。所以尝试制作
ifconfig
然后,找到“docker0”行,取“inet”值。用它替换您的远程主机值。通常 docker ip 地址类似于“172.17.0.1”。
请同时检查您是否在 docker Xdebug 配置中定义了 idekey
idekey=PHPSTORM
所以改变它并尝试再次运行。
如果它不能解决您的问题,请考虑在 PHPStorm 中正确配置 xdebug 远程服务器。
- 在Settings > Languages & Frameworks > PHP > Debug中:将默认端口更改为 9000
在Settings > Languages & Frameworks > PHP > Servers 中使用这些信息创建服务器
- 名称:随便你
- 主机:您的应用主机(我的通常是“本地主机”)
- 端口:你的应用程序端口(我的 80)
- 单击“应用”,然后单击“确定”
- 关闭设置
现在您必须配置要监听连接的远程调试
- 在 PHPSTORM 左上角,点击“编辑配置”
- 单击+并选择PHP 远程调试
- 输入您想要的任何名称 4 服务器:选择在设置面板中创建的上一个服务器
- 输入IDE_KEY:PHPSTORM
- 单击“应用”,然后单击“确定”
然后点击小“甲虫”(将鼠标移过时,会弹出“ Debug '{name of remote server you defined before}' ”
在要调试的控制器的第一行添加断点
- 在浏览器中,转到匹配的路线
- 然后魔术发生了!!!!
希望对您有所帮助。
推荐阅读
- r - 使用 R 在 ggplot2 中添加图例
- c - 如何通过查看代码来判断子进程是后台进程还是前台进程?
- gitlab - 添加可选按钮以编辑 Gitlab 合并请求上的提交消息
- sql-server - 如何在控制台中打印 Cypress SQL Srver (cy.sqlServer) 命令的输出
- flutter - 如何在颤动中设置文本可点击获取识别器错误
- python - 我在创建 EC2(Python)时尝试在 S3 存储桶中编写 xlsx 工作簿,但出现错误。我该如何解决这些错误?
- visual-studio - MSBuild 忽略所需的配置
- mysql - 查询以获取两个表中每个 ID 的计数
- python - Python:numpy:检测到解释器更改 - 每个进程只能将这个模块加载到一个解释器中
- sql-server - 如何使用“赋予某些不同行相同的身份”的选项来创建计数器(身份)?