SOには同様の質問がありますが、この問題は多少異なり、他の質問に対する答えは私の問題の原因ではありません。
次のような小さなスクリプト (ajax を使用して毎秒呼び出される) を使用して、APC を使用してアップロードの進行状況を追跡しています。
<?php
if(isset($_GET['progress_key'])){
$status = apc_fetch('upload_' . $_GET['progress_key']);
if($status['current'] != ''){
echo '{"current":' . $status['current'] . ', "total":' . $status['total'] . '}';
}else{
echo '{"current":0, "total":100}';
}
}else{
echo "{}";
}
?>
アップロードがほぼ完了するまで APC がアップロードの進行状況を報告することを除いて、すべて正常に動作します (さまざまなサイズのファイルで試してみましたが、約 95% でスタックし、ファイル サイズは関係ないようです)。その後$status['current']
、アップロード スクリプトがアップロードされたファイルの処理を完了するまで、同じ値を報告し続けます。アップロードされたファイルは PDF であり、そこからプレビュー サムネイルが生成されます。これには約 10 秒かかります。この間、APC は同じ値を報告し続けます。
これを引き起こす原因、さらに重要なことに、これを修正する方法を知っている人はいますか?
更新 ちなみに、私は apc.rfc1867_freq=0 を設定しました