window for docker 在 phpstorm 中如何调试本地 composer 包?

开发环境使用的是 window for docker,将项目和 composer 包映射到容器中,

    volumes:
      - ./:/opt/project
      - /mnt/d/Code/packagist/demo:/opt/packagist/demo

在容器中目录结构如下
/opt/project
/opt/packagist/demo

  • project 项目目录
  • packagist/demo 是本地 composer 包目录

在 project 的 composer.json 中指定本地包路径

"repositories": [
        {
            "type": "path",
            "url": "/opt/packagist/demo"
        }
    ],
"minimum-stability": "dev",

安装

composer require demo/demo:@dev 

安装没有问题,在 ./vendor/demo/demo 生成了一个软链接文件,主要是 phpstorm 没有提示,use class 无法识别

有没有大佬知道如何解决?

参考链接

讨论数量: 3

全放到一个系统里面吧,跨系统,io速度太慢了

2个月前 评论
微加加的朋友 (楼主) 2个月前

暂时使用的办法: 在 docker 中使用 composer require demo/demo:@dev 安装的扩展包会在 /vendor/demo/ 目录下生成 demo 文件的软链接,但是这个软链接 phpstorm 无法识别,于是只能手动在 Windows 终端中生成文件的软链接, 可以使在 PowerShell 中创建软链接,使用的是 New-Item

使用以下命令创建软链接:

New-Item -ItemType SymbolicLink -Path .\vendor\demo\demo -Target "D:\Code\packagist\demo"

其中 Link 是链接文件的路径,Target 是目标文件的路径。

暂时只能这样了

2个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!