【Laravel】本番環境で画像アップロードできないときに確認する箇所
課題
本番環境にて、下記のコードでアップロードできなかった。
ブラウザのネットワークタブで確認すると、500エラーとだけ表示される。
<?php Storage::putFileAs('public/images', $file, $file_name);
Laravelのログを確認
storage/logs/laravel.log
にエラー内容が出力されているはず。
[2022-08-14 10:27:40] production.ERROR: fopen(/var/www/プロジェクト名/storage/app/public/images/20220814102740.jpg): Failed to open stream: Permission denied {"userId":1,"exception":"[object] (ErrorException(code: 0): fopen(/var/www/プロジェクト名/storage/app/public/images/20220814102740.jpg): Failed to open stream: Permission denied at /var/www/プロジェクト名/vendor/league/flysystem/src/Adapter/Local.php:157)
権限エラーのよう。
解決方法
権限を付与してあげる。
$ pwd /var/www/プロジェクト名 $ chmod -R 777 storage/
これで無事アップロードできた。