질문을 삭제하지 말아주세요.!
 
1
0
-1

config/filesystem.php

'disks' => [

    'local' => [
        'driver' => 'local',
        'root' => storage_path('app'),
    ],

    'public' => [
        'driver' => 'local',
        'root' => storage_path('app/public'),
        'url' => env('APP_URL').'/storage',
        'visibility' => 'public',
    ],

    's3' => [
        'driver' => 's3',
        'key' => env('AWS_KEY'),
        'secret' => env('AWS_SECRET'),
        'region' => env('AWS_REGION'),
        'bucket' => env('AWS_BUCKET'),
    ],

],
php artisan storage:link

이 명령으로 심볼릭 링크 생성까지 성공했는데, 정작 그 안에 파일들이 연결되지 않네요.


퍼미션도 storage에 write 할 수 있게 되어 있습니다.

제가 파일관리하는 패키지를 설치해서 쓰고 있는데, 그걸 사용할 때는 접근도 되고 삭제도 되는데

심볼릭링크로만은 접근이 안되네요.

아예 퍼미션을 777 으로 바꿔도 계속 Not Found 입니다.


또 로컬에서는 잘 됩니다..;;

@php
 $slides = Storage::disk("local")->files("public/main_slider");
@endphp

이렇게 파일명과 위치까지도 다 받아올 수 있는데

정작 브라우져에서만 안보인다니...

무슨 문제일까요?


제가 놓친게 뭘까요?


    CommentAdd your comment...

    1 answer

    1.  
      1
      0
      -1

      아래 내용을 보시고 놓친 부분이 있는 지 확인해보시겠어요?


      설명을 보면 storage/app/public 폴더를 public/storage 폴더에 연결시키는 거네요.
      $ php artisan storage:link -h
      # ...
      # Create a symbolic link from "public/storage" to "storage/app/public"
      
      $ tree -L 2 storage
      storage
      └── app
         └── public
      $ tree -L 2 public
      public
      └── storage -> /Users/appkr/workspace/laravel54/storage/app/public


      Storage::disk('local')로 파일을 저장하면 storage/app/public 아래에 저장됩니다. 그리고 storage:link 명령을 실행하면, 저장한 파일을 웹 서버를 통해서도 접근할 수 있게 됩니다. http://host/storage/filename.ext 처럼요. asset('storage/filename.ext') 헬퍼로도 위 Url을 만들 수 있습니다.

        CommentAdd your comment...