我正在尝试将文件上传到'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;
我的错在哪里?
P.S。此外,我尝试在我的docker-compose文件中使用volume(我正在使用docker),如下所示:- ./data/cabinet/uploads/images:/data/www/cabinet/var/uploads/images
不幸的是,没有一个文件没有复制到此目录。怎么了?
谢谢!
答案 0 :(得分:0)
由于文档根目录指向web
目录,因此路径../var
无法访问。将上传内容存储在web
目录中,或在其中创建指向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 webserver,则必须启用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