web-dev-qa-db-ja.com

ini_setを使用してmax_input_vars PHP.iniディレクティブを設定する

Max_input_vars PHP.iniディレクティブをコードに設定できますか?デフォルトの1000に設定していますが、1000の制限を超える可能性のあるチェックボックスとテキストフィールドが多数あるスクリプトがあります。

私はPHP 5.3.10を使用していますが、これを実行してもエラーが発生しません。また、これを実行できないことを示すドキュメントが見つかりません。

ini_set('max_input_vars', 3000);

ありがとう。

22
crmpicco

max_input_vars の変更可能モードは PHP_INI_PERDIR です。これは、ini_setを使用して変更できないことを意味します(php.ini 、. htaccessまたはhttpd.conf)

50
pjumble

多くの人が何らかの理由でphp.iniにアクセスすることを避けています。別の方法は、操作フォルダーに .htaccess ファイルを作成し、次のコードを追加して、値をより高い値に設定することです。 .htaccessファイルで何も初期化する必要はなく、直接追加するだけです

php_value max_input_vars 3000
php_value suhosin.get.max_vars 3000
php_value suhosin.post.max_vars 3000
php_value suhosin.request.max_vars 3000

このソリューションは、php.iniファイルにアクセスせずに機能しました。一部のWebホストプロバイダーは、php.iniファイルにアクセスするときに苦労するため

3