2011-12-03 4 views
0

私は自分のサーバ上に、主にアップロードファイルを取り出し、それらを所定の場所に移動するPHPスクリプトを用意しています。通常は正常に動作しますが、スクリプトが20〜30分間起動しないことがあります。アップロードされたファイル全体が待機中にtmpフォルダに置かれるため、データ転送が完了したようです。ここでは(Androidアプリ)からスクリプトにPOSTを示すApacheのアクセスログからの抜粋は、しかし、このエントリは、午前11時43かそこらまで、アクセスログに表示されない...PHPスクリプトが起動するまでに20〜30分待つことがあります

[29/Nov/2011:11:21:55 -0500] "POST /submit.php HTTP/1.1" ... 

です11:43:42および12:00:02からの他のページ要求に囲まれています。これは、スクリプトが実行されるまでエントリが書き込まれないと信じさせてくれますが、提出時に書かれています。ここで私は、スクリプトからイベントを書いて、エラー・ログには、PHPスクリプトは、あまりにも長い間実行されないために、または私は場所に置く必要があるログの種類を引き起こすものを任意のアイデアは...

[Tue Nov 29 11:43:19 2011] Script started: Nov 29, 2011 11:43:19 
[Tue Nov 29 11:43:19 2011] Audio file provided 
[Tue Nov 29 11:43:19 2011] Timestamp provided 
[Tue Nov 29 11:43:19 2011] Defaults set 
[Tue Nov 29 11:43:19 2011] Connected to database 
[Tue Nov 29 11:43:19 2011] Database selected 
[Tue Nov 29 11:43:19 2011] Query successful 
[Tue Nov 29 11:43:19 2011] 551: ID set 
[Tue Nov 29 11:43:19 2011] 551: Audio file moved 
[Tue Nov 29 11:43:19 2011] 551: Algorithm succeeded 
[Tue Nov 29 11:43:19 2011] 551: Algorithm query succeeded 
[Tue Nov 29 11:43:19 2011] 551: Photo type identified 
[Tue Nov 29 11:43:20 2011] 551: Photo and thumbnail saved 
[Tue Nov 29 11:43:20 2011] 551: Cache cleared 
[Tue Nov 29 11:43:20 2011] Script finished: Nov 29, 2011 11:43:20 

です調べる?サーバーはUbuntu 10.04,Apache 2.2.14、およびPHP 5.3.2を実行しています。

+0

これはおそらくhttp://serverfault.comに行くはずですか? –

+0

この場合、アップロードされたファイルの量はどれくらいですか?スクリプトはapacheがファイル全体を受け取るまで開始されず、要求が完了するまでアクセスログに書き込まないので、アクセスログにHTTP応答コードを書き込み(たとえば、200 OKまたは500エラー)することができます。その場合、PHPが呼び出される前にファイルをアップロードするのに約21分かかりました。 – drew010

+0

ファイルは約0.5 MBです。フルサイズのファイルはサーバー上のtmpフォルダに置かれていますので、PHPによって移動されるのを待っていますので、遅いアップロードではありません。 –

答えて

0

実際にサーバーのメモリを確認する必要があります。メモリを超えてアップロードすると問題が発生する可能性があります。 PHPは、アップロードされたすべてのファイルを実際に保存する前にメモリに保存します。このファイルを最初にスワップファイルに書き込む必要がある場合は、これらの問題が表示されます。

+0

0.5 MBのファイルがこれを行うことができると思いますか? Androidクライアントは1つのエントリを送信し、サーバからの応答を待ち、別のエントリを送信します。メモリの問題を探すためにチェックするか置くべきログがありますか? –

+0

アップロード中は、メモリ使用量を確認するだけです。 –

関連する問題