PHP POST には大きすぎるコンテンツ
200 万文字を超える POST データを AJAX 経由で PHP に送信する際に問題が発生しています。具体的には、$_POST['data_string'] からデータを取得しようとすると、「未定義のインデックス」エラーが発生します。
Apache の制限
まず、制限を考慮してください。 Apache によって課されました。 LimitRequestBody パラメータを確認します。通常、デフォルトは約 2Gb です。データ サイズがこの制限を超えると、Apache エラー ログにエラーが記録される可能性があります。
PHP 構成
次に、PHP 構成設定を調べます:
- post_max_size: このパラメータは最大 POST サイズを直接制御します。 256M より大きい値に設定されていることを確認してください。
- upload_max_filesize: 関係はありませんが、この設定はファイルのアップロードにも影響を与える可能性があり、リクエストが妨げられる可能性があります。
- max_input_time: この設定を次のように調整します。 POST 操作が特定の時間制限を超えないようにします。
- max_input_nesting_level: データに深くネストされた配列が含まれる場合、この制限を増やす必要がある場合があります。
- max_execution_time: この設定が問題に影響する可能性は低いです。
- memory_limit: データ サイズが PHP サブプロセスに割り当てられたメモリ制限を超えていないことを確認します。
- max_input_vars: このパラメーターが POST データ内の要素の数に対応できる十分な大きさに設定されていることを確認してください。 array.
その他の考慮事項
Apache と PHP の制限が十分であることを確認したら、次の点を考慮してください。
- 送信しようとしているデータのサイズを確認してください。
- ブラウザがデータ送信を制限していないことを確認してください。
- その他のエラー メッセージがないかサーバー ログを調べてください。
以上が大きな POST データを PHP に送信すると「未定義のインデックス」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。