在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
目录,因此不可能访问../var
path。 可以将商店上传到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