首页 > 解决方案 > PhpStorm Docker 远程 PHP 解释器停止响应消息“检查 PHP 安装”

问题描述

我正在尝试在 Windows 10 机器上使用 PhpStorm、Docker 设置开发环境。

当远程 PHP 解释器选择 PhpStorm 停止响应消息“检查 PHP 安装”时: 在此处输入图像描述

docker-compose.yaml

version: '3'
    
    networks:
      symfony:
    
    services:
        #nginx
        nginx-ea:
          image: nginx:stable-alpine
          container_name: nginx-ea
          ports:
            - "8081:80"
    
          volumes:
            - ./app:/var/www/project
            - ./nginx/default.conf:/etc/nginx/conf.d/default.conf
    
          depends_on:
            - php74-fpm
            - mysql8-ea
          networks:
            - symfony
    
        # php74
        php74-fpm:
          build:
            context: .
            dockerfile: ./php/Dockerfile
          container_name: php74-fpm
          ports:
            - "9001:9000"
          volumes:
            - ./app:/var/www/project
            - ./php/conf:/usr/local/etc/php/
    
          networks:
            - symfony
    
        php74-cli:
          # define the directory where the build should happened,
          # i.e. where the Dockerfile of the service is located
          # all paths are relative to the location of docker-compose.yml
          build:
            context: ./php-cli
          container_name: php74-cli
          # reserve a tty - otherwise the container shuts down immediately
          # corresponds to the "-i" flag
          tty: true
          # mount the app directory of the host to /var/www in the container
          # corresponds to the "-v" option
          volumes:
            - ./app:/var/www/project
          # connect to the network
          # corresponds to the "--network" option
          networks:
            - symfony
        
        # mysql 8
        mysql8-ea:
          image: mysql:8
          container_name: mysql8-ea
          ports:
            - "4309:3306"
          volumes:
            - ./mysql:/var/lib/mysql
          command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
          restart: always # always restart unless stopped manually
          environment:
            MYSQL_USER: root
            MYSQL_ROOT_PASSWORD: secret
            MYSQL_PASSWORD: secret
          networks:
            - symfony
    
        #PhpMyAdmin
        phpmyadmin-ea:
          image: phpmyadmin/phpmyadmin:5.0.1
          container_name: phpmyadmin-ea
          restart: always
          environment:
            PMA_HOST: mysql8-ea
            PMA_USER: root
            PMA_PASSWORD: secret
          ports:
            - "8090:80"
          networks:
            - symfony

Docker 桌面 Windows 10 设置

在此处输入图像描述

尝试同时选择 php74-fpm 容器和 php74-cli 容器,一旦在 PhpStorm 中应用设置,它就会完全停止响应。

知道这里有什么问题吗?

更新

包括来自 system\log\idea.log 的 PHPStorm 日志

# appears in logs when Remote PHP Interpreter settings applied

2020-11-27 09:14:00,859 [ 479670]  DEBUG - php.config.phpInfo.PhpInfoUtil - Loaded helper: /opt/.phpstorm_helpers/phpinfo.php 
2020-11-27 09:14:01,106 [ 479917]   INFO - .CloudSilentLoggingHandlerImpl - Creating container... 
2020-11-27 09:14:02,019 [ 480830]   INFO - .CloudSilentLoggingHandlerImpl - Creating container... 

2 Docker 容器是在应用远程 PHP 解释器设置后创建的,但它们似乎没有被激活,并且容器内的日志似乎没有说明什么

在此处输入图像描述

如果尝试从 docker 桌面手动启动“ phpstorm_helpers_PS-191.8026.56 ”容器,它似乎可以正常启动

如果我手动尝试启动“ festive_zhukovsky... ”容器,它不会启动。容器内的日志打印 xml:

https://drive.google.com/file/d/1d5XbkJdHnc7vuN0V7heJdx3lBkmJfs3V/view?usp=sharing

更新 2

如果我删除来自 PHPStorm 中的 xampp 包的本地 PHP 版本,右侧的窗口会显示 PHPStorm 挂起的位置并变得无响应:

在此处输入图像描述

更新 3

根据这篇文章https://ollyxar.com/blog/docker-phpstorm-windows Docker 应该有共享驱动器配置 在此处输入图像描述

但是我在 Docker 桌面设置中似乎没有这个选项: 在此处输入图像描述 这可能是个问题吗?

标签: dockerphpstorm

解决方案


推荐阅读