1

私は現在、より大きなアップロード(〜50 Mb)をサポートするアップロードスクリプトに取り組んでいますが、非常に急速に問題が発生しました。ファイルを一時的な場所にアップロードし、後でPHPで移動するフォームで従来のPOSTリクエストを使用しています。当然、php.iniファイルを更新して、デフォルトのファイルよりもわずかに大きいファイルと、約15Mbのアップロードをサポートするようにしました。

主な問題は私のホスティング会社によるものです。それらはスクリプトを60秒後にタイムアウトさせます。つまり、完了までに60秒以上かかるPOST要求は、一時ファイルがPHPスクリプトに到達する前に終了し、これにより内部サーバーエラーが自然に発生します。

サーバーでタイムアウトをクランクできない(白熱した議論の後)私はオプションを検討しています。リクエストをバンプする方法や、サーバーに通知してタイミングをリセットするために何らかの方法で更新する方法はありますか?または、タイムアウトしない代替のアップロード方法はありますか?

4

3 に答える 3

0

考慮できることがいくつかあります。それぞれにコストがあり、どれが最もコストが低いかを判断する必要があります。

  1. 新しいホスティング会社を取得します。これが最善の解決策かもしれません。

  2. アップロードを複数のチャンクに分割し、AJAXを介して送信する、かなり複雑なクライアント側システムを設計します。これは、ホストルールを回避する場合にのみ役立つため、特に醜いです。

私は本当に#1を研究したいと思います。

于 2011-10-03T17:57:17.033 に答える
-1

非常に困難です。はるかに簡単なオプションは、頭の固いホストをダンプして、実際に生産性を高めるホストを選択することです。私は個人的にTSOHostを使用しています-1年半以上彼らと一緒にいて、これまでのところ文句を言う理由はまったくありませんでした(少しの迷惑でもありません)。

于 2011-10-03T17:53:22.247 に答える
-1

タイムアウトの問題で本当によろしいですか?私の最初のアイデア...

  • Webサーバーのphp.iniファイルで設定された構成の制限により、転送が失敗しました。スクリプトで変更するか、ローカル設定として設定する必要があります

    #構成で使用されるphp.iniで検索memory_limit = 96M post_max_size = 64M upload_max_filesize = 64M

または直接スクリプトで

ini_set('memory_limit', '96M'); 
ini_set('post_max_size', '64M'); 
ini_set('upload_max_filesize', '64M');
于 2011-10-03T18:11:58.710 に答える