前提・実現したいこと
初めて投稿させて頂きます。
Laravelでどうにもわからずに困っています。
Laravelでビューのフォームからコントローラーへ送信し、バリデーションチェックを行ったところ、フォームのPOST数が46個を超えるとバリデーションエラーが出ません。
それも不思議なことですが、45個までは普通にエラーが表示され、46個から114個まではバリデーションエラー時には入力フォームに戻るのですが、エラーメッセージは表示されません。
そして、115個以上の場合はバリデーションチェックを行っているコントローラーのURL(/input/act/)のままで画面が真っ白な状態です。
本当に訳がわからないのですが、POSTする数の上限等はあるのでしょうか?
もし、上限等が無い場合はどこに問題があるでしょうか?
何かヒントだけでも頂ければ助かります。
ソースコード
私の環境で確認したソースを明記しておきます。
web.php
<?php Route::get('/input/edit/', 'InputController@edit')->name('inp_edit'); Route::post('/input/act/', 'InputController@act')->name('inp_act');
InputController.php
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class InputController extends Controller { public function edit(){ return view('input.edit'); } public function act(Request $request){ $rules = [ 'hoge_1' => 'required|integer', ]; $validatedData = $request->validate($rules); dd("OK"); } }
edit.blade.php
<form name="form" action="{{ route('inp_act') }}" method="post" enctype="multipart/form-data"> @csrf <p><?php var_dump($errors) ?></p> {{-- ↓ここの「45」を変更して確認しています。 --}} @for($i = 0 ; $i<45; $i++) @error('hoge_'.$i) <div class="text-danger">{{ $message }}</div> @enderror <input type="text" name="hoge_{{$i}}" value="hoge_{{$i}}"> @endfor <input type="submit" class="btn-sm" value="登録"/> </form>
当方の環境は下記の通りです。
- PHP: 7.3.11
- Laravel: 6.11.0
- php.iniのmax_input_vars: 10000
- php.iniのmemory_limit: 512M
- php.iniのpost_max_size: 1024M
- OS: CentOS 8
- Apache: 2.4.37
また、Apacheのエラーログは下記内容ぐらいしかなく、Laravelのエラーログは特に出ていません。
[Fri Jan 17 10:52:10.105419 2020] [proxy_fcgi:error] [pid 1245:tid 140586384336640] [client XXX.XXX.XXX.XXX:XXXXX] Premature end of script headers: index.php, referer: http://hoge.fuge/public/input/edit [Fri Jan 17 10:52:10.105470 2020] [proxy_fcgi:error] [pid 1245:tid 140586384336640] [client XXX.XXX.XXX.XXX:XXXXX] AH01070: Error parsing script headers, referer: http://hoge.fuge/public/input/edit [Fri Jan 17 10:52:10.105475 2020] [proxy_fcgi:error] [pid 1245:tid 140586384336640] (22)Invalid argument: [client XXX.XXX.XXX.XXX:XXXXX] AH01075: Error dispatching request to : , referer: http://hoge.fuge/public/input/edit
回答2件
あなたの回答
tips
プレビュー