LoginSignup
0
4

More than 5 years have passed since last update.

php.ini のmax_input_vars を変更しても症状が変わらない場合の対処法

Last updated at Posted at 2018-11-02

PHPのとある案件で、項目が多数あるフォームでPOSTしようとしたら途中で処理が止まってしまった。
ログをみたらこんなエラーが発生していた。

PHP Warning:  Unknown: Input variables exceeded 3000. To increase the limit change max_input_vars in php.ini. in Unknown on line 0, referer:

ふむふむ、php.iniのmax_input_varsを3000以上にしなさい、とあるので、早速対応。

参考記事
PHPのPOSTパラメータ数の上限トラップ

vi /etc/php.ini

編集モードに入り,max_input_varsを6000に変更

max_input_vars = 6000

viを閉じて、Webサーバーを再起動。

service httpd restart
httpd を停止中:                                            [  OK  ]
httpd を起動中:                                            [  OK  ]

再度フロント側のPOST処理を実行!
ってあれ?
また失敗してるみたい。
ログを覗いてみると・・・

PHP Warning:  Unknown: Input variables exceeded 3000. To increase the limit change max_input_vars in php.ini. in Unknown on line 0, referer:

phpInfo()を見てもやはり6000になっている・・・
他にmax_input_vars を設定する箇所などあるのかな
そうだ.htaccessを見よう!

vim /path/to/.htaccess

なんかそれらしい記述を発見!

php_value max_input_vars 3000

こちらも修正しましょう。

php_value max_input_vars 6000

そして再度実行、無事POST処理に成功しました・・・

まとめ

今回のように、環境によってはphpの設定ファイルはphp.ini以外の複数の箇所で行っていたりしますので、max_input_vars という単語でgrepを掛けてみて、

grep max_input_vars -lr .

ほかに当該設定を行っているファイルがないか、探してみて、もしひっかかったら、そちらも修正してみてください。

0
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
4