[PHP] Formで入力したデータが全て送信されない場合は「max_input_vars」を設定する。

POSTで送信するデータ(入力変数)が多いと、一部が送信されない現象がでました。
post_max_sizeの設定は問題なかったので検索してみたところ、max_input_varsで引っかかっていたようです。max_input_varsとは、入力変数を何個まで受け入れるかの設定です。

POSTできる変数を増やす

php.ini
max_input_vars = 2000

問題なく送信できるようになりました。

ちなみにPHPマニュアルどこで設定を行うのかによると、max_input_varsは変更可能が PHP_INI_PERDIR となっており、php.ini.htaccesshttpd.conf.user.ini のどれかで設定しなければならず、ini_set では設定できません。

その他の設定

max_input_vars以外にも見直すべき設定として以下があります。

  • max_file_uploads
  • memory_limit
  • post_max_size
  • upload_max_filesize

参考

フォームでPOSTされない時の対処方法 - php.ini max_input_varsの設定

CONTENTS
  1. POSTできる変数を増やす
  2. その他の設定
  3. 参考