首页 > 解决方案 > Symfony / Docker:“找不到模板”

问题描述

我用 Docker 创建了一个 Symfony 环境。然后我将此文件包含在我的网络项目(骨架网站)中。但是,当我尝试从控制器访问位于主文件夹中的base.html.twig页面时,出现此错误:

找不到模板“main/base.html.twig”(查看:/var/www/templates、/var/www/vendor/symfony/twig-bridge/Resources/views/Form)。

我该如何解决这个问题?我有 Symfony 的第 5 版。

这是我的 docker-compose 文件的内容:

version: '3'

services:
    php:
        container_name: "php-fpm"
        build:
            context: ./php
        environment:
            - APP_ENV=${APP_ENV}
            - APP_SECRET=${APP_SECRET}
        volumes:
            - ${APP_FOLDER}:/var/www
        networks:
            - dev

    nginx:
        container_name: "nginx"
        build:
            context: ./nginx
        volumes:
            - ${APP_FOLDER}:/var/www
            - ./nginx/nginx.conf:/etc/nginx/nginx.conf
            - ./logs:/var/log/nginx/
        depends_on:
            - php
        ports:
            - "80:80"
        networks:
            - dev

    db:
        image: mysql
        container_name: "db"
        restart: always
        volumes:
            - db-data:/var/lib/mysql
        environment:
            MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
        networks:
            - dev

    phpmyadmin:
        image: phpmyadmin
        container_name: "phpmyadmin"
        restart: always
        depends_on:
            - db
        ports:
            - 8080:80
        environment:
            PMA_HOST: db
        networks:
            - dev


networks:
     dev:
volumes:
     db-data:

标签: dockertwigsymfony5

解决方案


您的Docker Compose文件需要将本地文件夹与 Docker 文件夹链接起来。

#docker-compose example

version: "3"
services:

 web:
  build: .
  ports:
   - "8080:80"
  volumes:
   - .:/var/www # Map local folder to Docker

推荐阅读