Laravelで本番環境で画像が表示されず、画像を直接開こうとすると【403 forbidden】画面が出てくる時の対策です。
Laravelで画像が表示されず403forbidden画面になってしまう時の対処法
① シンボリックリンクの確認
まずシンボリックリンクが設定されているか、確認してください。
確認方法ですが、プロジェクト/publicディレクトリで、下記コマンドを実行します。
1 |
ls |
下記のようにstorageが表示されていればOKです。
もし表示されていない場合は、次のコマンドでシンボリックリンクを設定しましょう。
1 |
php artisan storage:link |
シンボリックリンクを設定しても直らない場合には、②へ進んでください。
② パーミッションの確認
次に、プロジェクト/public/storage/ へ移動します。
そこで、次のコマンドを入力します。
1 |
ls -l |
パーミッション付きでファイルやディレクトリの一覧が表示されます。
下記の黄色のようになっている場合には、画像が表示されない可能性があります。
パーミッションを変更します。
たとえば avatarという名前のディレクトリにいれが画像が表示されない場合は、次のコマンドを実行します。
1 |
chmod 755 avatar |
実行後、ls -l コマンドを実行して、パーミッションが変わっていることを確認してくださいね。
さいごに、ブラウザで画像が表示されるかチェックしましょう。
さいごに、ちょっとご案内
Laravelを本番環境に反映させる(デプロイ)際、色々とトラップが発生する可能性があります。
もし「デプロイが初めてで不安」という場合には、Laravelでデプロイする手順を動画とテキストで解説した講座をご用意しています。
詳細は、下記ボタンをクリックしてくださいね。
最初の10章は無料でご覧いただけます。