2014-03-03 10 views
1

저는 Laravel 4를 처음 접했고, 내 사이트의 두 부분을 어떻게 Symlink하는지 알아 내려고하고 있습니다.Laravel 4 및 Symlinks

첫 번째는 두 번째는 애플 리케이션/저장 입니다 공공/캐시 (이 이미지 캐시가 저장되는 위치입니다)

내 서버에 SSD에이 두 가지를 이동하려는

하지만 Laravel은 Symlink를 시도 할 때마다 오류를 던지기를 계속합니다.

그 오류는 다음과 같습니다

ErrorException 
file_put_contents(/meta/services.json): failed to open stream: No such file or directory 

분명히 그것은 파일 시스템을 찾을 수 없습니다 그리고 심볼릭 링크는 Laravel 작동하지 않습니다. 그러나 심볼릭 링크는 개별 파일 (예 : JPEG)에서 작동하므로 초기 설정에는 아무런 문제가 없습니다.

는 문서 루트가/공공httpdocs에있는

애플 리케이션 (및 프레임 워크) (Plesk를 설정을 통해) httpdocs로 설정되어, 명확히하기 위해 더 이상 가상 호스트의 루트로 제공하고있다 폴더 .

내가 암시했듯이, Plesk 서버입니다. 소유자는 가상 호스트에 속하며 그룹은 psacln에 속합니다. 하지만 나는 심볼릭 링크가 작동하는지 확인 했으므로 어떠한 허가/소유권 문제도 있다고 생각하지 않습니다. 당신이 뭔가를 엉망으로 한 같은 오류 메시지의 경로가 잘못 보이기 때문에

+0

이것은 Laravel과는 아무런 관련이 없음을 지적 할 가치가 있습니다. 'file_put_contents'는 네이티브 PHP 함수입니다. 귀하의 문제는 거의 확실하게 사용 권한과 관련이 있습니다. 공유 호스트입니까? 어떤 경우에 '/ meta'경로는 실제로 '/ path/to/user/meta'와 비슷할 것입니다. – bcmcfc

+0

사용 권한은 모두 잘되어 있습니다. 그리고 그것은 dedi입니다. – Pete

답변

0

는 나에게 보이는 :

file_put_contents(/meta/services.json) 

를 IMO, 그것과 같이해야한다 :

file_put_contents(/var/www/webapp/app/storage/meta/services.json) 

을, 당신 때문에 경우 정확히 같은 심볼릭 링크를 수행했습니다

mv /var/www/webapp/app/storage /mnt/ssd/ 
ln -s /mnt/ssd/storage /var/www/webapp/app/storage 

PHP가 파일을 쓰려고합니다. n 루트/메타 폴더. 아마도 옳지 않은 곳일 수 있습니다.