在Intellij中使用docker远程解释器运行PHPUnit,docker远程解释器来自“/opt/project”中的docker项目

在Intellij中使用docker远程解释器运行PHPUnit,docker远程解释器来自“/opt/project”中的docker项目,php,docker,intellij-idea,docker-compose,phpunit,Php,Docker,Intellij Idea,Docker Compose,Phpunit,我在IntelliJ 2019.3.2中加载了一个PHP symfony项目,构建了IU-193.6015.39,其结构中省略了与自述等无关的文件: <project_root> +- src/ +- tests/ +- vendor/ | +- autoload.php +- .env +- composer.json +- composer.lock +- docker-compose.yml +- Dockerfile +- phpunit.xml +- phpuni

我在IntelliJ 2019.3.2中加载了一个PHP symfony项目,构建了IU-193.6015.39,其结构中省略了与自述等无关的文件:

<project_root>
+- src/
+- tests/
+- vendor/
|  +- autoload.php    
+- .env
+- composer.json
+- composer.lock
+- docker-compose.yml
+- Dockerfile
+- phpunit.xml
+- phpunit-custom.xml
因此,项目被安装到容器的/var/www中。在使用docker compose up-d旋转项目之后,可以在http://localhost:8888 正如所料。但通过IntelliJ运行单元测试不起作用,因为生成的命令需要容器的/opt/project文件夹中的配置:

[docker compose://[/Users/me/projects/symfony_with_db/docker compose.yml]:app/]:php/opt/.phpstorm\u helpers/phpunit.php-configuration/opt/project/phpunit-custom.xml 无法读取/opt/project/phpunit-custom.xml。 进程已完成,退出代码为1 而配置文件的路径必须在UI中作为绝对路径提供。

输入项目相对路径无效。
因此,似乎没有办法告诉IntelliJ查看实际安装项目的路径。

我有一个类似的问题,在IntelliJ设置中找不到任何选项,因此我需要在.idea目录中手动更改路径。尝试在.idea目录中搜索/opt/project,并将其替换为/var/www


在我的例子中,这个问题是由Intellij Ultimate 2019.3中的Python插件引起的。我有一个类似的问题,在Intellij设置中找不到任何选项,所以我需要手动更改.idea目录中的路径。尝试在.idea目录中搜索/opt/project,并将其替换为/var/www


在我的例子中,这个问题是由Intellij Ultimate 2019.3中的Python插件引起的。您要查找的字段位于设置>测试框架>[解释器]>测试运行程序>默认配置文件中。 我使用容器中phpunit.xml的绝对路径,工作正常


您要查找的字段位于“设置”>“测试框架”>“解释器”>“测试运行程序”>“默认配置文件”中。 我使用容器中phpunit.xml的绝对路径,工作正常


实际上,仅仅禁用python插件就解决了这个问题。有趣的是,.idea文件夹中所有与PHP相关的.xml文件仍然引用/opt/project,但似乎被project的路径映射{project-ROOT}->/var/www覆盖,现在我不知道为什么了:有没有bug报告我可以+1?我不知道有任何相关的bug报告。事实上,仅仅禁用python插件就解决了这个问题。有趣的是,.idea文件夹中所有与PHP相关的.xml文件仍然引用/opt/project,但似乎被project的路径映射{project-ROOT}->/var/www覆盖。这在我的设置中曾经起作用,但现在我不知道为什么:是否有bug报告我可以+1?我不知道任何相关的bug报告。
version: "2"

services:
    app:
        build: .
        env_file:
            - ./.env
        ports:
            - 8888:80
        volumes:
            - ./:/var/www/
            - .docker/app-dev/nginx/fastcgi-timeouts.conf:/etc/nginx/fastcgi-timeouts.conf
            - .docker/app-dev/php/conf.d/00_opcache.ini:/etc/php/conf.d/00_opcache.ini
            - .docker/app-dev/php/conf.d/30_xdebug.ini:/etc/php/conf.d/30_xdebug.ini
            - .docker/app-dev/php/php-fpm-settings.conf:/etc/php/php-fpm-settings.conf

    db:
        image: mysql:5.6
        environment:
            MYSQL_DATABASE: project_database
            MYSQL_USER: user
            MYSQL_PASSWORD: password
            MYSQL_ROOT_PASSWORD: master_password
        ports:
            - 3306:3306
        volumes:
            - mysql-data:/var/lib/mysql:delegated
            - .docker/db/mysqld.cnf:/etc/mysql/conf.d/mysqld.cnf
            - .docker/db/000-structure.sql:/docker-entrypoint-initdb.d/000-structure.sql
            - .docker/db/001-data.sql:/docker-entrypoint-initdb.d/001-data.sql
            - .docker/db/002-test-data.sql:/docker-entrypoint-initdb.d/002-test-data.sql

volumes:
    mysql-data: