Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PhpStorm&x2B;Docker&x2B;作曲家_Docker_Composer Php_Phpstorm - Fatal编程技术网

PhpStorm&x2B;Docker&x2B;作曲家

PhpStorm&x2B;Docker&x2B;作曲家,docker,composer-php,phpstorm,Docker,Composer Php,Phpstorm,目前正在处理一个使用docker compose创建多容器应用程序的项目。大多数应用程序代码都在我的机器上,但在docker compose up期间,composer安装和npm安装都在docker实例上启动,而不是在我的本地机器上启动。在我的本地计算机上对源代码进行更改会立即反映在Docker上,正如预期的那样,但PhpStorm看不到供应商文件夹的内容。vendor文件夹在docker compose文件中作为卷公开 有没有办法告诉PhpStorm Docker机器上供应商的内容?目前Ph

目前正在处理一个使用
docker compose
创建多容器应用程序的项目。大多数应用程序代码都在我的机器上,但在docker compose up期间,
composer安装和
npm安装都在docker实例上启动,而不是在我的本地机器上启动。在我的本地计算机上对源代码进行更改会立即反映在Docker上,正如预期的那样,但PhpStorm看不到
供应商
文件夹的内容。
vendor
文件夹在docker compose文件中作为卷公开


有没有办法告诉PhpStorm Docker机器上供应商的内容?目前PhpStorm找不到任何
供应商
声明,我也不能使用intellisence。

在docker项目中,你必须在docker容器中运行你的应用程序或api,不必在本地运行,你肯定有类似的东西

volumes:
 - .:/usr/src
 - /usr/scr/vendor
这样,供应商是“只读”的。
你应该放一些代码来帮助你更好。

我认为
供应商
文件夹也必须在你的PHPStorm项目中,否则PHPStorm将无法检查它。 因此,如果您的PHPStorm项目具有以下文件夹:

public
src
tests
vendor
您可以将它们映射到容器中,如下所示:

    volumes:
      - ./public:/var/www/project/public
      - ./src:/var/www/project/src
      - ./vendor:/var/www/project/vendor
至少我在最近的项目中就是这样做的,PHPStorm和容器都能够在供应商文件夹中找到内容。
即使
composer install
在容器内运行,它也会将所有依赖项放入PHPStorm可以访问的供应商文件夹。

应用程序在docker容器内运行,是的,供应商文件夹和src文件夹都有一个卷,但它们都标记为rw,不仅仅是只读的docker-compose.yml已经定义了以下卷
-vendordir:/var/www/path/to/root/vendorder:rw
,这是
vendordir
命名的
vendorder
吗?它在PHPStorm项目中吗?