web-dev-qa-db-ja.com

Laravel-ローカルストレージのシンボリックリンクを元に戻して更新する方法

画像をストレージに保存すると、storage/appディレクトリには表示されますが、public/storageには表示されません。 storage/app/publicディレクトリが作成されたようで、storage/app内のすべても含まれているようです。

どのようにしてこの混乱を引き起こしたのか理解できません。これらのディレクトリを元の状態に戻すことは理にかなっていると思います(新しいlaravelプロジェクトで) 、既存のシンボリックリンクを削除して、もう一度やり直します-これは最良のアプローチのように聞こえますか?シンボリックリンクを誤って設定した場合、どうすればよいですか?

7
rushtoni88

リンクはいつでも削除できます。

cd public
rm storage

異なる場所をリンクする必要がある場合は、storage:linkコマンドを使用せずに新しいものを作成します。

\File::link(storage_path('dir1'), public_path('dir2'));

または 手動でシンボリックリンクを作成

ln -s /full/path/to/storage/dir1 /full/path/to/public/dir2
9
Alexey Mezenin

それが実際にあるべき姿です! Laravelには、パブリックディレクトリをストレージディレクトリにシンボリックリンクするコマンドがあります。

php artisan storage:link

アイデアは、デプロイメント間で永続的なストレージを維持することです。

この規則により、Envoyerのようなダウンタイムのないデプロイメントシステムを使用する場合に、パブリックにアクセス可能なファイルが1つのディレクトリに保持され、デプロイメント間で簡単に共有できます。

https://laravel.com/docs/5.5/filesystem

5
user320487