在Symfony的var目录中上传不可访问

我试图上传文件到“var”目录(成功)。 但是当我想从'var'中取这个文件时,我只能看到No route found for "GET /var/uploads/images/....

结构

  - app - bin - src - var - cache - logs - uploads - images - vendor - web 

为了保存我的文件,我正在使用: '%kernel.project_dir%/var/uploads/images'

为了取得文件: '/var/uploads/images/' . $fileName; '/var/uploads/images/' . $fileName; 我哪里错了?

PS此外,我尝试在我的docker构成文件中使用音量(我使用docker)像这样: - ./data/cabinet/uploads/images:/data/www/cabinet/var/uploads/images不幸的是,没有一个文件没有复制到这个目录。 怎么了?

谢谢!

由于文档根目录指向了web目录,因此不可能访问../varpath。 可以将商店上传到web目录中,也可以在其中创build一个指向var/data/uploads的符号链接:

 // since I don't know your path tree inside the container // I assume whole application is installed inside /var/www/html // and this is the default working directory docker-compose exec YOUR_CONTAINER_NAME \ ln -rs /var/www/html/var/data web/var 

请记住,如果您使用Apache Web服务器,则必须启用FollowSymLinks选项,但最有可能的是。

至于第二个问题,很可能你映射了一个无效的目录,我想这应该是:

 // yet again I assume whole application is inside the /var/www/html ./data/cabinet/uploads/images:/var/www/html/data/cabinet/uploads/images 

无论如何,这是一种生产吗? 如果不是,而且这只是一个正在进行的工作,那么你应该将整个本地目录映射为容器卷。 这是通常在开发模式下完成的,因此映射将是:

 .:/var/www/html