2017-12-12 18 views
0

'var'디렉토리에 파일을 업로드하려고합니다 (성공적으로). 내가 사용 내 파일을 저장하기 위해Symfony의 var 디렉토리에 업로드 할 수 없습니다.

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

: 나는 'VAR'에서이 하나 개의 파일을 할 때 난 단지 No route found for "GET /var/uploads/images/....

구조를을 관찰 할 수 '%kernel.project_dir%/var/uploads/images'

을하기 위해서는를 들어 파일 가져 오기 : '/var/uploads/images/' . $fileName; 내 실수 야?

P. 또한 볼륨을 사용하려고합니다 (도커를 사용하고 있습니다). 다음과 같은 도커 작성 파일 - ./data/cabinet/uploads/images:/data/www/cabinet/var/uploads/images 그리고 불행히도이 파일은이 디렉토리에 복사되지 않았습니다. 뭐가 문제 야?

감사합니다.

답변

0

문서 루트가 web 디렉토리를 가리키고 있으므로 경로 ../var에 액세스 할 가능성이 없습니다. 대부분의 아마 당신이 아파치 웹 서버를 사용하는 경우, 옵션을 가지고 FollowSymLinks를 활성화 할 것을 염두에

// 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 

곰을하지만, 다음 web 디렉토리 내의 어느 매장 업로드가 var/data/uploads를 가리키는 내부에 심볼릭 링크를 만들거나.

// 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 
+0

: 1 위 라인 voluems에 고정 표시기-구성되어있다 : 이것은 일반적으로 개발자 모드에서 수행, 그래서 매핑이 될 어떻게 - ./data/cabinet/uploads/images:/var/www/html/data/cabinet/uploads/images 및 2 줄은 다음과 같습니다. ln -s/var/www/html/web/var/var/www/html/var/data/uploads 예? –

+0

한 줄짜리입니다. 그 백 슬래시를 사용하여 깨 졌으므로 화면에 완전히 표시 될 수 있으며 여전히 유효한 명령입니다. 도커 작성 (docker-compose)을 통해 실행하거나 컨테이너를 입력하고 그 안에 명령을 실행할 수 있습니다. 또한 내부 테스트 중에 실제로 작동하는'cd'와의 심볼릭 링크를 테스트합니다. –

+0

오, 고마워. 좀 더 도와 주실 수 있을까요 ... 내 상사는 상대적인 심볼릭 링크가되기를 원했지만 실현 방법을 이해할 수 없습니다. –