Apache Web サーバーで実行されている PHP スクリプトに XHR ストリーミング経由でファイルをアップロードすると、何かが POST 本文全体をバッファリングし、ファイル全体がアップロードされると PHP に渡されます。
これは非常にメモリ集約的であり、最適ではありません。POSTデータをPHPスクリプトに直接ストリーミングするほぼ同じ方法で別のサーバーを構成しているため、メモリ使用量が少なくなります。
私の人生では、構成の違いを理解することはできません。私が探すべき設定「BufferPostBody Yes」のような明白なものはありますか?
これまでに試したこと
mod_security を無効にする HTTPS ではなく HTTP 経由でファイルを送信する Apache ログ、php ログ、syslog をチェックする。エラーや警告はありません。
動作をテストする方法
XHR ストリーミング経由で大容量ファイル (235M) の JS 経由のアップロードを開始します。PHP は、リクエストが開始されるとすぐに「アップロードを実行しています」と出力するはずです。代わりに、「アップロードを実行中」という行は、ファイル全体が POST 経由でアップロードされた後にのみ表示されます。
不良サーバーにロードされたモジュールのリストは次のとおりです。
コア mod_log_config mod_logio prefork http_core mod_so mod_alias mod_auth_basic mod_authn_file mod_authz_default mod_authz_groupfile mod_authz_host mod_authz_user mod_autoindex mod_cgi mod_dir mod_env mod_mime mod_negotiation mod_php5 mod_reqtimeout mod_rewrite mod_setenvif mod_ssl mod_status mod_unique_id