php - 在Docker容器中使用PhpStorm调试Symfony CLI应用程序

标签 php symfony docker phpstorm xdebug

我当前的设置涉及PhpStorm IDE,其中已导入Symfony 3项目,该项目基本上是CLI工具。在主机上,我没有安装PHP,因此我从装有PHP和Xdebug的Docker容器中运行应用程序。

我没有从Docker容器调试Web应用程序的问题,但是使用Symfony和此CLI工具似乎有点棘手。

我的问题是如何正确设置并从PhpStorm对其进行调试?我尝试创建新的调试配置(PHP远程调试),但未触发断点。

最佳答案

假设您已遵循以下链接中提到的说明:

  • Can't connect PhpStorm with xdebug with Docker
  • How to setup Docker + PhpStorm + xdebug on Ubuntu 16.04

  • 或类似问题

    然后,您需要按照以下步骤操作:

    步骤1:
    通过运行以下命令获取对您的容器的 shell 访问:
    docker exec -ti ^container_id^ /bin/sh
    

    或者,如果运行的是基于debian / ubuntu的(或者您手动安装了bash):
    docker exec -ti ^container_id^ /bin/bash
    
    ^container_id^可以通过docker ps命令找到,它是表的第一列。如果在小窗口上运行,只需将int传递到less -S中,得到以下命令:
    docker ps | less -S
    

    然后导出以下环境变量:
    export PHP_IDE_CONFIG="serverName=0.0.0.0:5092"
    export XDEBUG_CONFIG="idekey=PHPSTORM"
    

    请记住要设置在Servers部分中指定的正确值,如您在图中所看到的:

    Phpstorm settings

    为了避免遇到this问题中指定的问题,这一点很重要。

    然后,只需在运行symfony应用程序时启用调试器listentin进入phpstorm并生成cli。

    关于php - 在Docker容器中使用PhpStorm调试Symfony CLI应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46990948/

    相关文章:

    php - Facebook Wallpost 超链接附件/设计

    java - Symfony2 Assets :dump | error Output: "The system cannot find the path specified"

    docker - 多个具有相同图像和内存使用情况的 docker 容器

    web - 我的网站在 docker 容器中运行,如何实现虚拟主机?

    php - 如何从 CSS 列表样式 :decimal 中删除点 '.'

    php - 对非对象调用成员函数 fetch_assoc()。 mysql

    mysql - 为什么 Doctrine 2 迁移在 Symfony 项目中悄无声息地失败了?

    docker - 如何解决 Skipping acquire of configured file Ubuntu

    php - 基于结果的选择中选择 MySQL

    forms - 如何在 Symfony2 的选择表单字段中列出数组