PhpStorm支持四种Docker集成方式:一、Docker Compose配置远程PHP解释器,自动识别服务并挂载代码;二、单容器模式直连镜像执行CLI命令;三、Docker Compose运行配置启动全栈服务;四、终端修改Shell路径直连容器执行命令。

如果您希望在 PhpStorm 中快速启用容器化 PHP 开发环境,避免本地安装 PHP、扩展及依赖服务的繁琐过程,则可通过 Docker 原生集成能力,在 IDE 内直接拉取镜像、挂载代码、运行服务并调试。以下是实现该目标的多种可行路径:
一、通过 Docker Compose 配置远程 PHP 解释器
此方式使 PhpStorm 自动识别 docker-compose.yml 中定义的 PHP 服务,并将其作为远程解释器使用,支持 composer install、php -v、PHPUnit 等 CLI 操作,且无需手动输入 IP 或端口。
1、确保项目根目录下存在有效的 docker-compose.yml 文件,其中包含一个明确命名的 PHP 服务(如 services: php: 或 services: app:)。
2、打开 PhpStorm,进入 File → Settings → Languages & Frameworks → PHP → Interpreter(macOS 为 PhpStorm → Preferences)。
立即学习“PHP免费学习笔记(深入)”;
3、点击右侧 Interpreter 右侧的 … 按钮,选择 Add… → Remote Interpreter → Docker Compose。
4、在弹出窗口中指定 docker-compose.yml 文件路径,并从下拉菜单中选择对应的服务名称(注意:是 services 下的键名,非容器名)。
5、在 Interpreter path 字段中填入 /usr/bin/php(Alpine 和 Debian 系通用,勿填写 /bin/sh -c "php")。
6、点击 OK 后,PhpStorm 将自动拉取镜像、启动服务、挂载项目路径并验证 PHP 版本。
二、使用单容器模式直连 Docker 镜像
适用于轻量级项目或仅需 PHP CLI 环境的场景,不依赖 docker-compose.yml,由 PhpStorm 直接基于指定镜像启动临时容器执行命令。
1、确认 Docker Desktop 已运行,且终端中可执行 docker --version 与 docker info 并返回正常结果。
2、进入 File → Settings → Languages & Frameworks → PHP → Interpreter。
3、点击 … → Add… → Docker,右侧选择已配置的 Docker 连接(如 Docker for Windows 或 Docker for Mac)。
4、在 Image name 字段中输入标准镜像标签,例如 php:8.2-cli 或自定义构建的 my-php-app:dev。
5、设置 PHP interpreter path 为 /usr/bin/php,并确认 Project root path 与容器内挂载路径一致(默认为 /var/www/html)。
6、点击 OK,PhpStorm 将拉取镜像并启动容器,完成解释器注册。
三、配置 Docker Compose 运行配置启动全栈服务
当项目依赖 MySQL、Redis、Nginx 等多个组件时,此方式可在 PhpStorm 内一键启动完整服务拓扑,并自动等待依赖就绪后再执行调试或运行任务。
1、确保 docker-compose.yml 中各服务定义正确,PHP 服务已声明 ports、volumes 和 environment(如 XDEBUG_CONFIG 或 XDEBUG_MODE)。
2、进入 Run → Edit Configurations,点击左上角 +,选择 Docker-Compose。
3、在 Compose file 字段中指定 docker-compose.yml 路径,在 Service name 中选择 PHP 服务名(如 php 或 app)。
4、展开 Volumes 区域,确认本地项目路径与容器内路径映射正确(如 ./:/var/www/html)。
5、勾选 Start services before launch,并将 Timeout (seconds) 设为 60,确保数据库等依赖完成初始化。
6、点击 OK 保存,点击绿色三角形按钮即可启动全部关联容器。
四、在 PhpStorm 终端中直接执行容器内命令
该方法绕过图形化配置,通过修改终端 Shell 路径,使 PhpStorm 内置终端默认以交互方式进入指定容器,适用于频繁调用 artisan、composer、phpunit 等 CLI 工具的场景。
1、先通过终端执行 docker-compose up -d 启动服务,并使用 docker-compose ps 确认 PHP 容器名称(如 myproject_php_1)。
2、进入 File → Settings → Tools → Terminal,找到 Shell path 设置项。
3、将原值替换为以下格式命令:docker exec -it myproject_php_1 /bin/sh(请将 myproject_php_1 替换为实际容器名)。
4、点击 OK,关闭设置窗口,重启 PhpStorm 终端(或新建终端标签页)。
5、此时终端即处于容器内部,可直接运行 php -v、composer install 或 ./vendor/bin/phpunit 等命令。
五、验证 Docker 插件与 CLI 环境可用性
若上述任一方式中 Docker 选项置灰、无法选择或提示连接失败,大概率是 PhpStorm 未正确继承系统 Docker CLI 环境变量,需优先排查基础连接状态。
1、检查 Docker Desktop 是否正在运行:macOS 查看菜单栏图标是否为绿色;Windows 查看系统托盘是否有 Docker 图标且显示 Docker Desktop is running。
2、在系统终端中执行 docker --version 与 docker info,确认输出无报错且显示 Server Version 字段。
3、若提示 command not found,说明 Docker CLI 未加入 PATH:macOS 用户需在 Docker Desktop 设置中勾选 Use the Docker command in the terminal;Windows 用户需重装 Docker Desktop 并勾选 Add Docker to PATH。
4、确保 PhpStorm 是通过终端启动(macOS 执行 open -a PhpStorm;Windows 执行 start /d "C:\Program Files\JetBrains\PhpStorm\bin" phpstorm64.exe),否则无法继承 shell 的 PATH 环境变量。
5、进入 Settings → Plugins,确认 Docker 插件已启用(默认捆绑,但可能被手动禁用)。



















