http://stackoverflow.com/questions/12169818/in-php-how-can-i-detect-that-input-vars-were-truncated-due-to-max-input-vars-be http://php.net/manual/ja/info.configuration.php !!!引数の制限 max_input_vars で指定された数以上の引数を受け取るとWarningを出力し、 引数をそれ以上受け取らない。 大量の引数を受け取らないような設計にするのが無難。 !!検知 max_input_vars 以上の引数があるかどうかを検知する方法 !方法1 処理の冒頭でWarningを含むエラーの存在を確認する。 max_input_vars 以外のエラーやワーニングも拾ってしまうので注意。 if (($error = error_get_last()) !== null) { echo 'got error:'; var_dump($error); return; } !方法2 引数の数をチェックする。 function checkMaxInputVars() { $max_input_vars = ini_get('max_input_vars'); # Value of the configuration option as a string, or an empty string for null values, or FALSE if the configuration option doesn't exist if($max_input_vars == FALSE) return FALSE; $php_input = substr_count(file_get_contents('php://input'), '&'); $post = count($_POST, COUNT_RECURSIVE); echo $php_input, $post, $max_input_vars; return $php_input > $post; } !!対策 大量のデータを送らなければならないときは、max_input_vars の上限を上げるか jsonを送る !jsonでデータを送る http://d.hatena.ne.jp/hiro_nemu/20090826/1251284397 // フォームを取得 var form = $('form-id'); var param = {}; // フォームの内容を取得 // serializeArrayの戻り値は[{key: 'キーの名前', value: '値'}]という形式になっている $(form.serializeArray()).each(function(i, v) { param[v.name] = v.value; }); var json = JSON.stringify(param); php側は var_dump(json_decode($_POST["json"])); {{category2 プログラミング言語,PHP}}