【メモ】max_input_vars

ajaxでデータを投げる時知ったのでメモ。

返ってきた配列の数がPOSTした配列の数より少なくて原因がわからなかった。
ググってみると、あっさり出てきた。

 

php – Array being chopped off over ajax post. Ajax posting limit? – Stack Overflow

php.iniにmax_input_varsの変更(または作成)が必要だよ。とのこと。
ローカルで変更すると、ちゃんとレスポンスでも同じ数の配列が返ってきた。

今回は、CPIの共用SDプランだったので、php.iniを設置して解決。

【共用サーバーGS】php.iniファイルを独自に設置できますか? | よくある質問 | お名前.comヘルプセンター

max_input_vars integer

入力変数 を最大で何個まで受け付けるかを指定します (この制限は、スーパーグローバル $_GET、$_POST そして $_COOKIE にそれぞれ個別に適用されます)。 このディレクティブを使うと、ハッシュの衝突を悪用したサービス不能攻撃を受ける可能性を軽減できます。 このディレクティブで設定した数を超える入力変数があった場合は E_WARNING が発生し、 それ以降の入力変数はリクエストから削除されます。

PHP: 実行時設定 – Manual ( max_input_vars デフォルト1000 PHP 5.3.9 以降で有効 )

ajaxに関わらずなので、覚えとこ。
共用サーバの場合は面倒くさそう。。