2017-10-24 9 views
1

laravel 5.5의 저장소 심볼릭 링크를 사용하여 이미지를 저장하고 있습니다. git에 코드를 푸시하고 라이브 사이트에서 당기면 실제 사이트의 심볼릭 링크 경로가 로컬 코드와 동일 해집니다. 내 지역이 심볼릭 링크코드가 라이브 사이트로 푸시 될 때 laravel symlink가 변경됩니다.

storage -> /home/path/to/project/app/public/ 

을 가지고 있지만 라이브 사이트가이 심볼릭 링크 경로

storage -> /var/www/html/website.com/public_html/project_code/storage/app/public/ 

내가 심볼릭 링크를 삭제하고 라이브 사이트에 다시 만들어야 할 때마다 기대하고있다. 내 심볼릭 링크가 실제 사이트에 따르면하게 다음 단계를 수행 한 후 라이브 사이트

cd public 
rm storage 
cd .. 
php artisan storage:link 

에서 이러한 단계를 수행해야 후 작동을 시작합니다. 라이브 사이트는이 심볼릭 링크를

storage -> /var/www/html/website.com/public_html/project_code/storage/app/public/ 

project_code/.gitignore이 있어야합니다

public/storage 

project_code/저장/응용 프로그램/.gitignore 나는이 문제를 제거 할 수있는 방법

* 
!public/ 
!.gitignore 

.

미리 감사드립니다.

답변

1

symlink가 프로젝트 디렉토리 구조 내의 다른 위치를 가리 키므로 절대 경로 대신 상대 경로를 사용할 수 있습니다 (artisan이 설정 됨). 그래도 수동 링크가 필요합니다 (이미있는 경우 현재 링크를 제거하십시오) :

cd app/public 
ln -s ../storage/app/public storage 
1

대상 Git repo (푸시 할 대상)에 post-receive hook을 설정하는 것이 좋습니다. 예를 들어 this one을 참조하십시오.

해당 후크에서 필요한 모든 단계를 추가 할 수 있습니다 (예 : 심볼 링크 수정).

+0

일부 명령을 자동으로 실행하는 데 도움이되었습니다. – Afraz

관련 문제