前提
プログラミング初心者です!
Laravelを用いてWebアプリケーションの開発をしていました。
プロフィールを登録する→自分のプロフィール画面に映るというルーティングをして、AWSの「php artisan serve --port=8080」からアプリをプレビューしたところ、うまく実装されていました。
しかし、デプロイなどをしてURLのほうからアクセスするとうまく機能しておらず、プロフィール登録の画面で「保存」ボタンを押すと500 Server Errorとなってしまいます。
実現したいこと
①URLからのアクセス(言い方が分かりません、「Web上」でいいのかな?)の際にもイメージどおり機能するようにしたいです!
②そもそもどこでエラーが発生しているのかという部分から分かっていない(AWS上ではきちんと機能しているので)ので、エラーの確認方法があれば教えていただきたいです!
発生している問題・エラーメッセージ
500 Server Error
該当のソースコード
php(profiles/create.php)(プロフィール登録)
1<!DOCTYPE HTML> 2@extends('layouts.app') 3 4@section('content') 5<html lang="{{ str_replace('_', '-', app()->getLocale()) }}"> 6 <head> 7 <meta charset="utf-8"> 8 <title>create_profile</title> 9 </head> 10 <body> 11 <h1>プロフィール登録</h1> 12 <form action="/profiles" method="POST" enctype="multipart/form-data"> 13 @csrf 14 <div class="sex"> 15 <h2>性別</h2> 16 <input type="radio" name="profile[sex]" value="男性">男性 17 <input type="radio" name="profile[sex]" value="女性">女性 18 <input type="radio" name="profile[sex]" value="その他">その他 19 <div> 20 <div class="nickname"> 21 <h2>ニックネーム</h2> 22 <input type="text" name="profile[nickname]" placeholder="ニックネーム"/> 23 </div> 24 <div class="prefecture"> 25 <h2>お住いの都道府県</h2> 26 <select name="profile[prefecture_id]" > 27 @foreach($prefectures as $prefecture) 28 <option value="{{ $prefecture->id }}">{{ $prefecture->name}}</option> 29 @endforeach 30 </select> 31 </div> 32 <h2>プロフィール画像</h2> 33 <input type="file" name="icon"> 34 <input type="submit" value="保存"/> 35 </form> 36 <div class="back">[<a href="/">戻る</a>]</div> 37 </body> 38</html> 39@endsection
php(web.php)
1 //保存(途中) 2 public function store(Request $request, Profile $profile, Prefecture $prefecture) 3 { 4 $input = $request['profile']; 5 $input += ['user_id' => $request->user()->id]; 6 7 //s3アップロード開始 8 $image = $request->file('icon'); 9 // バケットの`myprefix`フォルダへアップロード 10 $path = Storage::disk('s3')->putFile('profile', $image, 'public'); 11 // アップロードした画像のフルパスを取得 12 $profile->icon = Storage::disk('s3')->url($path); 13 $profile->fill($input)->save(); 14 15 return view('profiles/show')->with(['profile' => $profile, 'prefectures' => $prefecture->get()]); 16 17 18 }
php(profiles/show.php)
1<!DOCTYPE HTML> 2@extends('layouts.app') 3 4@section('content') 5<html lang="{{ str_replace("_", "-", app()->getLocale()) }}"> 6 <head> 7 <meta charset="utf-8"> 8 <meta name="viewport" content="width=device-width, initial-scale=1"> 9 <title>Profiles</title> 10 <!-- Fonts --> 11 <link href="https://fonts.googleapis.com/css?family=Nunito:200,600" rel="stylesheet"> 12 <link rel="stylesheet" href="/css/app.css"> 13 </head> 14 <body> 15 <form action="/profiles" method="POST"> 16 <h1 class="nickname"> 17 ニックネーム {{$profile->nickname}} 18 </h1> 19 <h1 class="sex"> 20 性別 {{$profile->sex}} 21 </h1> 22 <h1 class="prefecture"> 23 都道府県{{$profile->prefecture->name}} 24 </h1> 25 26 <input type="submit" value="いいね!"/> 27 <div class="footer"> 28 <a href="/">戻る</a> 29 </div> 30 </form> 31 </body> 32</html> 33@endsection
試したこと
そもそもどこでエラーが発生しているのか分かっていません😥
あなたの回答
tips
プレビュー