2016-12-21 2 views
0

로컬에서 작업 할 때 파일을 저장소에 저장할 수 있으며 자동으로 public/storage 디렉터리에 나타납니다. 이제 동일한 프로젝트를 공유 서버로 전송했지만 스토리지가 public/storage 디렉토리와 동기화되지 않은 것처럼 보입니다.Laravel 저장소가 공용 저장소 폴더와 동기화되지 않음

이 내가 파일을 저장하는 방법입니다

$path = 'app/public/images'; 
$img->save(storage_path($path.'/photo.jpg')); 

을 그리고 이것은 내가 그것을 검색하는 방법입니다

Storage::url('public/images/photo.jpg); 

NB를 : 나는 로컬 php artisan storage:link을 사용하여 스토리지를 연결, 내가 알고하지 않습니다 내가 다시 다른 서버에 있거나 없기 때문에 (공유 호스트에 있기 때문에 가능하다면) 어려울 수도 있습니다.

+0

질문에 명시된대로 폴더 사이에 심볼릭 링크를 만들 수 있어야합니다. 이것이 실패하면, 우리에게 오류를 알려주세요. 'php artisan storage : link' –

답변

0

저장 디렉터리를 심볼릭 링크하면됩니다. 그러나 내 호스트가 SSH를 지원하지 않기 때문에 php artisan storage:link을 사용할 수 없습니다. 대신 this solution을 사용했습니다.

0

공유 호스팅에서 일부 프로젝트를 배포했는데 동일한 오류가 발생했으며 경로가있는 이미지 저장 문제는 인덱스 루트가 공유 호스팅에서 서로 다르기 때문에 발생합니다. 당신은 다음과 같이 해결할 수 :

$my_public = 'home/username/public_thml/your_project_laravel/' 
$path = 'app/public/images'; 
$img->save($my_public.$path.'/photo.jpg')); 

당신은 당신의 공유 호스팅의 경로를을 구체적으로해야 할 다른 방법은 공유 호스팅 공공 HTML의 루트를 변경할 수 있지만,이 경우는, 계정의 모든 참조 경로를 변경할 것입니다 같은 호스팅에 다른 웹 사이트가 좋은 해결책이 아닙니다.

관련 문제