4

PHPを使ったWebアプリケーションを開発しました。クライアントが VMware に移行するまでは、完全に機能していました。POST で送信されたフォームの一部が送信されず、一定量以上のデータが送信された場合にのみ発生することがわかりました。VMware 環境でアプリケーションを実行している場合にのみ発生します。

助けてください!!

更新: apache_error.log ファイルで、次のエラーが見つかりました: PHP 警告: 不明: 入力変数が 1000 を超えました。制限を増やすには、php.ini の max_input_vars を変更します。in Unknown on line 0, referer: .....

このパラメーターは php.ini-development および php.ini-production でのみ見つけることができ、コメントされていたので ;; を削除しました。値を増やし、php.iniファイルにも値を追加しましたが、phpinfo()でわかるようにすべて無視されていますか?

PHP バージョン 5.3.13

4

4 に答える 4

1

max_input_varsphp.iniでコメントされているということは、デフォルト値を使用していることを意味している可能性があります。コメントを外すことで上書きできます。コメントは、この場合無視されることを意味するものではありません。

パラメータは、post_max_sizephp.iniファイル内でも構成可能である必要があります。テストの前とそのファイルの内容を変更した後は、必ずapacheを再起動してください。php.iniファイルで、次の行を見つけます

post_max_size = 2M

(または任意の最大サイズ)

そしてそれを8Mかそれに類似したものに増やします。

php.iniファイルは次の場所にある場合とない場合があります。

/etc/php5/apache2/php.ini

それは実際にはディストリビューションごとに異なります。

于 2012-11-19T04:10:22.440 に答える
1

php.iniファイルのmax_input_varsの値を増やすことで解決しました。これは、症状の1つがPOST配列が空であったことを知っておく価値があります...

于 2012-11-19T12:15:22.310 に答える
1

post_max_sizephp.iniの値を次のように変更します。 post_max_size = 2M

または .htaccesss 経由でこれを追加します

php post_max_size = 2M
于 2012-11-19T04:22:00.527 に答える
0

私の推測では、を処理するように構成されたディストリビューションがあると思います

post_max_size

これは標準の 2MB より高く、2MB を「超える」量を送信しています。

サーバー構成に応じて、カスタム php.ini またはカスタム "php_value post_max_size 8MB" を使用して、これをオーバーライドできます。

于 2012-11-19T03:17:53.517 に答える