わかりました。これは、あるサーバーのセットアップでは 100% 正常に動作しますが、非常によく似たサーバーでは問題が発生します。そのため、IIS の問題がどこかにあるに違いないと思います。場所がわかりません。
非常に標準的な PHP アップロード スクリプトを使用していますが、ロック/フリーズし続け、より大きなファイル (250 MB 以上) で再開します。
エラーは返されず、アップロードは完了し、最大 4 GB のファイルに対しては正常に機能しますが、永遠に時間がかかります。アップロード時に tmp ファイルのサイズを監視できます。データの受信が停止することがあります。一度に数分間、中断したところから再開してアップロードを続行することもあります。
IIS で次のように構成しました。
CG:
- タイムアウト: 00:30:00
- アクティビティ タイムアウト: 300000
- アイドル タイムアウト: 300000
- リクエストタイムアウト: 300000
リクエストのフィルタリング:
- 許可されるコンテンツの最大長: 4294967295
- URL の最大長: 4096
- 最大クエリ文字列: 2048
PHP:
- post_max_size: 4G
- upload_max_filesize: 4G
- max_execution_time: 300000
- max_file_uploads: 300000
- max_input_time: -1
- メモリ制限: -1
以前はスクリプトに時間がかかりすぎてエラーが発生していましたが、Activity、Idle、Request の時間を増やすことでその問題は解決しました。アップロードは正常に機能しますが、永遠にかかります。同じアップロード スクリプトを実行している別の開発ボックスにまったく同じ IIS 設定があり、問題なく動作します。そのため、何が欠けているのかわかりません。
PHP は 5.4.14 です。PHP エラー ログまたは Windows イベント ビューアーには何も表示されません (私が知る限り、実際にスローされるエラーはありません)。
どこかに欠けている可能性のある設定を知っている人はいますか?