Linux サーバー上の Apache (2.2.14) で実行されている PHP (PHP 5.3.2) アプリケーションがあります。その歴史の中で、ユーザーはブラウザーに次のメッセージを表示し始めました:「要求エンティティが大きすぎます」。最初の Google 検索では、アップロードされたファイルが大きすぎるか、Cookie が大きすぎる場合に発生することが示唆されました。ただし、ファイルのアップロードでは発生せず、ログイン時のみで、常にログインページで発生します。ユーザーは、ページ上の通常の POST フォームからこのページに入ります。CookieにはセッションIDのみが含まれています。
さらに、apache は「Invalid Content-Length」をログに記録しています。これは、コードが実行される前にログに記録されています。$_POST にはデータが含まれているはずですが、空です。次の行を追加したとき:
error_log("Content-Length: ".$_SERVER['CONTENT_LENGTH']);
それは言う
Content-Length: 32, 32
これは実際には無効のようです。ブラウザを変更したり、ユーザーの PC をリセットしたりしても、解決しないようです。翌日、すべてが機能し始めました。
問題はどこにあるのでしょうか? Apache、PHP、ユーザーのネットワーク設定で何か?さらに情報を追加する必要がある場合は、お知らせください。