大規模なファイルアップロードでPHPスクリプトがハングアップする

私はユーザーが複数のファイルをPOSTでサーバーにアップロードし、次のページにリダイレクトできるようにするPHPスクリプトを用意しています。

それはしばらくの間働いているようですが、最近ユーザーは無限にぶら下がっていると報告しています。彼らはすべてのフィールドを入力し、アップロードするファイルを選択し、ポストを押し、その後数時間待ってから、ウィンドウをあきらめて閉じます。しかし、ファイルが正常にアップロードされていることが確認されたら、それは問題ありません。ちょうどフィールドは投稿されませんでした。

スクリプトは、フォームフィールドが解析されてmysqlデータベースに挿入される次のセクションには移行できません。私はいくつかの小さなテストをしたし、問題を再現することはできません。私は200Mのような大きなファイルでテストする時間はありませんが。

任意のユーザーがアップロードする最大ファイルサイズは200Mになるので、私のPHPコア設定で十分だと感じています。ここに私が持っているものがあります:

max_execution_time = 7200
max_file_uploads = 20
max_input_time = 7200
memory_limit = 8000M
output_buffering = 4096
upload_max_filesize = 500M 

おそらく私にこの問題を与えるかもしれないコア設定の何か他の?それともブラウザの問題でしょうか?

1
200Mは異常に高いアップロード制限です...あなたはftpファイル転送を検討したいかもしれません。
追加された 著者 Mike Purcell,

1 答え

これはおそらくユーザーの接続速度です。いずれかのユーザーに接続速度を問い合わせ、Google Chromeを使用してステータスバーを見ると、アップロードの進行状況の割合が増えます。または、私はこれを自分で試し、帯域幅の誰かを絞ることをお勧めします。ユーザーがFiosや接続(T1など)を持っていない限り、ユーザーは最大1.5人までです。

2
追加された
合意しました...ケーブルやDSL接続(200,000 KB/100 KB/sなど)でも200 MBのファイルをアップロードするには30〜60分かかることがあります。
追加された 著者 John Watson,
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com