【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