PHP 脚本看不到卷中的目录



我有我的docker-compose.yml文件。我有带有php7.3-fpm和nginx的容器。在我的 docker-compose.yml 文件中,我有这样的卷

    `volumes:
        - ./:/var/www/html/email-sender`

此卷与附加到nginx和php容器的卷相同。一切正常,但是当我尝试检查我的php脚本是否存在任何目录(在/var/www/html/email-sender/my-awesome-directory中(PHP函数(is_dirdir(返回false。我检查了权限,每个目录都有777www-data所有者。有没有IDE?我附上我的docker-compose.yml文件并Dockerfile


services:
    php:
        build: docker/build
        environment:
            COMPOSER_ALLOW_SUPERUSER: 1
            XDEBUG_CONFIG: "remote_host=192.168.0.104"
            PHP_IDE_CONFIG: "serverName=PHPSTORM"
        volumes:
            - ./:/var/www/html/email-sender
    web:
        image: nginx:latest
        ports:
            - "8080:80"
        volumes:
            - ./:/var/www/html/email-sender
            - php

和 Dockerfile


RUN apt-get update && apt-get install -yq git zip unzip libpng-dev  libzip-dev libpq-dev mc && 
    docker-php-ext-configure pgsql -with-pgsql=/usr/local/pgsql && 
    docker-php-ext-install mysqli pdo pdo_mysql pdo_pgsql zip bcmath  && 
    echo "date.timezone = Europe/Warsaw" > /usr/local/etc/php/php.ini && 
    rm -rf /var/lib/apt/lists/* && 
    php -r "copy('https://getcomposer.org/installer', '/tmp/composer-setup.php');" && 
    php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer && 
    rm -rf /tmp/composer-setup.php && 
    pecl install xdebug && 
    docker-php-ext-enable xdebug
WORKDIR /var/www/html/email-sender/
RUN chown -R www-data:www-data /var/www/html/email-sender
USER www-data

如果您使用的是 docker-compose 的第 2 版,则可以在 Web 容器中使用它:

    volumes_from:
        - php

只需在服务之前添加此行

version: '2'

最新更新