我有一個cgi代碼,正在通過AJAX從客戶端javascript調用。但是,該呼叫的結果被客戶端丟棄。Apache 2.2 CGI perl超時,即使定期打印仍然超時
在後端出現此代碼:
$|=1;
my $i = 0;
while (<$fh_echo>)
{
#To prevent apache timing out the cgi script.
print "." if $i % 100 == 0;
#Do stuff
$i++;
}
儘管定期打印出來,這仍然超時:
[warn] [client 10.23.12.87] Timeout waiting for output from CGI script
[error] [client 10.23.12.87] (70007)The timeout specified has expired: ap_content_length_filter: apr_bucket_read() failed
我圖的JavaScript丟棄輸出不應該有任何的事實對apache是否允許cgi腳本繼續的影響形式。如果是這樣,那麼這裏發生了什麼?
這是一個分叉過程。 – 2010-08-11 05:06:31
而且,你是否正在關閉子女中的'STDOUT'並立即退出父母? – 2010-08-11 05:32:03
哦!關閉STDOUT似乎使它現在工作。我會做更多的測試,但到目前爲止,我還沒有得到任何時間錯誤。 – 2010-08-11 17:33:06