1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[PHP]POSTした値が全て取得できない

Last updated at Posted at 2017-07-31

現象

Laravelで1000件以上のPOSTをしたところ、途中で値がなくなってしまっていた。
フォーム画面では500レコード表示されているのに、POSTしたデータは250件ほどしかない、といった具合だ。
Laravel側の設定かと思いきや、PHPの設定の問題とのこと。

原因

phpinfo()から設定を確認してみる。
001.png

max_input_varsの項目が最大POST数とのことで、今回は4カラムをPOSTしていたため、1000/4=250レコードしかPOSTできていなかった。
この値を書き換えることでより多くの値をPOST出来るようになる。

Laravel側の対応

1./etc/php/7.1/fpm内にphp.iniファイルがあるので、ルート権限で編集する(sudo vim /etc/php/7.1/fpm/php.ini)。

/etc/php/7.1/fpm/php.ini
; max_input_vars = 1000
; コメントを外して任意の値に書き換える
max_input_vars = 10000

2.反映させるために一度vagrant provisionコマンドを実行する。

3.再度phpinfoを確認して反映されていることを確認。

所感

だからって一度に大量のデータをPOSTするのもちょっとアレな感じではある。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?