[PHP]大量の配列をPOST/GETで渡す時に、要素が途中で切れて、すべて渡せない件。


分かった今はなんてことないのですが……(・ω・`)

PHPで大量のパラメータをPOSTで送ろうとする(自分の場合は1160個程度)と、こんなエラーが出てきました。

Warning: Maximum number of allowable file uploads has been exceeded in Unknown on line 0

とりあえず調べると、php.ini内にある「max_input_vars」プロパティをいじくれよ!と公式ドキュメントに書いてありました。
http://php.net/manual/ja/info.configuration.php

自分のphp.iniを見てみると、どこにも書いていないのでとりあえず追加。

max_input_vars = 2000

ちなみにデフォルトの値は1000みたいです。普通ならこの数で十分足りるはずなんですけどね……。

ほんと、なんてことない話なんですけど、俺がこの問題にぶつかったときにいじくっていたのがECCUBEで、こいつは画面上にPHPのエラーをそのまま吐き出してくれないんですよね。
仕方ないのでapacheのエラーログを見てみると、明らかに怪しいエラーがわんさかあったので、それを手掛かりに解決できました。

……あれ、この記事を書いていて思ったんだけど、よく考えたら、ECCUBEほどのものなら、デバッグモードぐらい用意されてるんじゃないだろうか?

探してみたらありました。これで出てくるんじゃないかしらorz
http://web-karakuri.com/archives/2510

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です