#はじめに
laravel/homesteadでシンボリックリンクをはり、画像を表示させようとしたところなかなか苦戦したので皆さんの助けになればと思い記事にしました。
#やりたいこと
ユーザー登録の際にアイコン画像を登録し、表示させたい
#環境
windows8
laravel homestead(vagrant + virtualbox)
laravel 6
#やり方
homestead環境下でシンボリックリンクを行うには普通ですとエラーになります。
解決方法としては管理者権限でコマンドプロンプトを開くことです。これでエラーにならずシンボリックリンクを実行することができます。vagrant内にアクセスし、
php artisan storage:link
を実行します。
シンボリックリンクとは何かというと、laravelの画像の保存先はディフォルトでstorage/app/publicディレクトリ直下に保存されるのですが、外部からアクセスして画像を表示させるには一番上の階層のpublicディレクトリ直下に画像がある必要があります。そこでstorage/app/publicディレクトリへのショートカットを一番上の階層のpublicディレクトリ直下に作りアクセス可能にするものがシンボリックリンクです。シンボリックリンクを張ることで画像を表示させることが可能になります。
#あとがき
初めてQiita投稿、またプログラミング初心者のためわかりずらいところもあるかもしれませんが、今後も投稿を続けたいと思います。頑張ります!