SO上有一个similar question,但这个问题有些不同,另一个问题的答案并不是我问题的原因。
我正在使用APC跟踪上传进度,其中包含一个小脚本(使用ajax每秒调用一次),如下所示:
<?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