1

いくつかの回答を読んでも、私の問題に直接関連するものは見つかりませんでした。

クライアントが大規模な製品の更新/挿入を実行できるように、アップロードして実行しようとしている 48 メガバイトの .csv ファイルがあります。アップロードが機能することもありますが、現在、Ajax リクエストで 500 エラーが返されています。詳細の一部を次に示します。

当社のサーバー サポートでは、アップロード ファイルの最大サイズを 100 メガバイトに設定しています。

スクリプトの先頭で次の ini_sets を使用しています。

set_time_limit(0);
ini_set("memory_limit",-1);
ini_set('max_execution_time', 0);

ここが問題だと思います。このスクリプトを機能させるには、多くのテストを行う必要があります。たぶん、1日10本くらいアップロードしています。これはサーバーに非常に負担をかけているだけでなく、現在、彼らのサイトには 1 日に約 500 回のアクセスが寄せられているという事実も同様です。

月間帯域幅転送: 12775.43 / 3000 MB

この問題に関して上司に返すことができるアイデアはありますか? それは今日行う必要があり、私はまだ問題のクリーニングに取り組んでいますが、それが帯域幅の問題である場合は、サーバーが毎月の帯域幅をリセットする明日までテストをやり直すことはできません.

アイデアをありがとう。

注: これは過去に機能しました。より小さいサイズのファイルを処理する場合も同様に機能しますが、クライアントは、この 48 メガバイトの .csv ファイルを使用することを明示的に要求しています。

繰り返しますが、アップロード ツールは、投稿先のフォルダーに投稿してアップロードするため、ある程度機能しているようです。問題は、ファイルのアップロードと準備に 10 分を費やした後、すべてのデータを解析してタイムアウトするのに時間がかからないことです。

別の注意事項: 以下は、500 内部サーバーの問題です。

サーバーで内部エラーまたは構成ミスが発生したため、リクエストを完了できませんでした。サーバー管理者 webmaster@ _ _ _ .com に連絡して、エラーが発生した時刻と、エラーの原因となった可能性のある操作を知らせてください。このエラーの詳細については、サーバー エラー ログを参照してください。さらに、ErrorDocument を使用して要求を処理しようとしたときに、500 Internal Server Error エラーが発生しました。

4

1 に答える 1

1

多分これは何かの助けになります。

https://github.com/valums/file-uploader/issues/61

大きなファイル (64MB の php メモリ設定で 20MB 以上のファイル) のアップロードをテストしたところ、アップロードされた XHR コンテンツを $HTTP_RAW_POST_DATA にロードしていたため、PHP から一貫して最大メモリ エラーが発生しました。always_populate_raw_post_data を false に設定したにもかかわらず、これを実行し続けました。この問題に関するドキュメントが少しまばらであるため、解決に苦労しました。コンテンツ タイプを "multipart/form-data" に偽装すると、PHP は $HTTP_RAW_POST_DATA に値を設定せず (他のコンテンツ タイプを試しましたが、これだけが機能するようです)、ヒットせずに大きなファイルをアップロードできます。低メモリ制限。バイナリの整合性は、少なくとも Chrome と Firefox で維持されています。これは私が試したものです。*

ここで見つけました:

PHP 入力によるアップロードを処理しながら、PHP でのメモリ消費を削減します。

于 2012-07-31T15:25:34.017 に答える