画像をストレージに保存すると、storage/appディレクトリには表示されますが、public/storageには表示されません。 storage/app/publicディレクトリが作成されたようで、storage/app内のすべても含まれているようです。
どのようにしてこの混乱を引き起こしたのか理解できません。これらのディレクトリを元の状態に戻すことは理にかなっていると思います(新しいlaravelプロジェクトで) 、既存のシンボリックリンクを削除して、もう一度やり直します-これは最良のアプローチのように聞こえますか?シンボリックリンクを誤って設定した場合、どうすればよいですか?
リンクはいつでも削除できます。
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
それが実際にあるべき姿です! Laravelには、パブリックディレクトリをストレージディレクトリにシンボリックリンクするコマンドがあります。
php artisan storage:link
アイデアは、デプロイメント間で永続的なストレージを維持することです。
この規則により、Envoyerのようなダウンタイムのないデプロイメントシステムを使用する場合に、パブリックにアクセス可能なファイルが1つのディレクトリに保持され、デプロイメント間で簡単に共有できます。