実現したいこと
通知機能を作成しているのですが、他の通知作成処理ではタイムアウトが起こらないのですが特定の通知作成処理の所でタイムアウトが起きるので修正したいです。
前提
タイムアウトが送る箇所はチャットに入る際にパスワードを入力した際に中間テーブルを作成すると共にチャットを建てた人に入室のお知らせをする通知を作成をする内容です。
発生している問題・エラーメッセージ
504 Gateway Time-out WARN PHP Fatal error: Maximum execution time of 60 seconds exceeded in vendor/symfony/polyfill-mbstring/Mbstring.php on line 515.
該当のソースコード
MemberController
1public function store(Request $request) 2 { 3 $user = Auth::user(); 4 $rooms = Room::all(); 5 $room = Room::find($request->room_id); 6 $messages = Message::where('room_id', '=', $room->id) 7 ->get(); 8 if($room->room_password == $request->room_password) 9 { 10 $member = new Member; 11 $member->room_id = $request->room_id; 12 $member->user_id = $request->user_id; 13 $member->host_id = $request->host_id; 14 $member->save(); 15 16 $notification = new Notification; 17 $notification->user_id = $request->user_id; 18 $notification->member_id = $member->id; 19 $notification->notification_type = 1; 20 $notification->title = "{$user->name}さんが{$member->room->name}に入室しました。"; 21 $notification->save(); 22 23 return view('rooms/show', ['user'=>$user, 'rooms'=>$rooms, 'room'=>$room, 'member'=>$member, 'messages'=>$messages]); 24 } 25 return view('rooms/index', ['user'=>$user, 'rooms'=>$rooms, 'room'=>$room]); 26 27 }
試したこと
タイムアウトの原因が処理が多いから重いのか、ifの処理が原因なのかを調べています。
WARN PHP Fatal error: Maximum execution time of 60 seconds exceeded in vendor/symfony/polyfill-mbstring/Mbstring.php on line 515. のエラーを発見して探したところ、タイムアウトの時間を変更する方法を見たのですが、そちらはどうでしょうか?
補足情報(FW/ツールのバージョンなど)
PHP8
Laravel10
0 コメント