배열형으로 만든 폼데이터가 일정수를 넘어가면 일부가 없어지는 현상이 일어날 수 있음.
PHP 5.3.9 부터 도입된 max_input_vars라는 설정때문인데,
여기 설정된 값을 넘어서는 폼데이터가 들어올 경우 나머지는 유실됨.
예를 들어 max_input_vars는 기본값이 1000인데 POST 파라메터가 배열형으로 $_POST['key_name'][] 이렇게 생긴게 1000개 이상 들어오면 그 이후로는 없어진다는 이야기.
max_input_vars는 PHP_INI_PERDIR 속성의 설정값이므로 ini_set()으로는 변경할 수 없고,
php.ini나 .htaccess, httpd.conf 등 설정파일에서만 변경이 가능함.
해결책은 php.ini 에서 저 값을 많이 늘여주거나,
배열형으로 넘기는 폼데이터를 하나의 문자열로 합친 후 받을 때 다시 풀어내는 수 밖에 없음.
[참조]
http://www.php.net/manual/en/info.configuration.php#ini.max-input-vars
'PHP' 카테고리의 다른 글
[PHP] 프로세스를 실행시키면서 STDOUT, STDERR를 문자열 변수에 담기 (open_proc, descriptor_spec, stream_get_contents) (0) | 2014.08.19 |
---|---|
[PHP] header를 이용해 파일다운로드시 브라우저별 UTF-8 다국어 깨짐현상 (Content-Disposition, attachment, filename, multibyte) (0) | 2014.08.05 |
[PHP] 문자열을 byte array로 변환 (string, byte array, hex) (0) | 2014.05.15 |
[PHP] cURL로 header만 요청하기 (0) | 2014.05.15 |
[PHP] load average throttle (0) | 2014.05.15 |