PHPのPOSTの上限について

投稿者: Anonymous

PHPプログラミング超初心者です。

勉強を主目的に、とある多数のチェック項目に対する記録をするサイトをcloud9とLaravelを使って作成しているのですが、1000を超えるデータをPOSTで送信できないです。
1001以上ある場合に、1000個までしかデータが送られてないです。(Controller内で、 dd($request); で確認しました)
いろいろ調べてphp.iniファイル内の max_input_vars = 3000 にしましたが、1000個のデータしか遅れてないです。

どのようにしたら1000以上のデータがPOST出来るのか教えていただけないでしょうか
該当箇所のViewは以下のように、チェック項目数分データを取得して、 foreach で表示しています。

@foreach ($evidence as $a_evidence)
 <tr>
@if ($first == true)
<td>{!! Form::select('evidence_type[]',['null'=>'', 'strength'=>'+', 'weakness'=>'-', 'neutral'=>'±'],  $a_evidence->evidence_type, ['class' => 'form-control']) !!}</td>
<?php $first = false; ?>
@endif
<td>{!! Form::textarea('evidence_comment[]', $a_evidence->evidence_comment, ['class' => 'form-control', 'rows' => '2']) !!}</td>
<td>{!! Form::text('evidence_document[]', $a_evidence->evidence_document, ['class' => 'form-control']) !!}</td>
</tr>
@endforeach 

解決

どこに問題があったか一部曖昧ですが、POSTのデフォルト値を変更したときに実施したことを記録しておきます

  1. $ sudo vi php.ini でphp.iniを編集状態にする
  2. max_input_vars = 1000 を max_input_vars = 3000 に変更する
  3. $ sudo /etc/init.d/httpd restart でApacheを再起動させる
  4. ここで確認したが反映されず
  5. PCをシャットダウン
  6. 翌日再度確認したら、反映されてました
回答者: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *