PHP フォーム送信データが欠ける。
表入力フォームから多数のフィールドデータ(8列x数百行)を更新するWEB業務システム(phpで構築)で、データが途中で欠けるという問題が発生。
var_dump($_POST);で表示させて$_POST 内のフィールドが途中までしかないことを確認しました。
途切れる位置が入力データ量では変化しないので、POSTやGETで受け取れるフィールド数が制限されているのは明らか。
先月サーバーのアップデートを実行しているので、セキュリティ対策で制限が加わったものと推測し、phpinfo() 出力で「MAX_」 と名の付く項目を探すと、「max_input_vars」という如何にもそれっぽい項目に「値= 1000」というトラブル症状にドンピシャの設定がされているのを発見、設定値の変更によりトラブルは解消しました。
やっぱりリリース情報はしっかりチェックしないと命取りですね。
もっとも問題のリリース情報には、「Added max_input_vars directive to prevent attacks based on hash collisions.」としか書いてないので、読んでいたとしてもおそらく気にも止めなかったでしょうが・・・・・・



Recent Comments