一段时间后,apc_fetch返回false

时间:2011-05-21 00:44:45

标签: php apc

当我上传大文件(视频)时,我正在使用apc_fetch显示进度条。

apc_fetch工作正常,文件高达180mb。但是对于更大的文件,apc_fetch在190Mb之后返回false。

基本上,如果我上传一个大文件(250mb),它会显示数据,直到'current'为< 190MB。当谈到190mb时,它返回false。没有数据。

我的apc conf在php.ini

extension=apc.so
apc.rfc1867 = on
apc.max_file_size = 1024M
upload_max_filesize = 1024M
post_max_size = 1025M
apc.shm_size = 512M
apc.rfc1867_freq= 0

有关它的更新: 仍然进行一些测试,我发现apc_fetch开始在1小时(60分钟)后返回空。 我把它们设置了,但仍然保持不变。

apc.ttl = 0
apc.user_ttl = 0
apc.gc_ttl = 0

我认为问题与时间有关。

3 个答案:

答案 0 :(得分:1)

您需要将apc.rfc1867_ttl设置为更大的值。它确定上载跟踪值在apc缓存中的存在时间。

默认值为3600秒,此后不再跟踪上传。这就是为什么你看到它在一小时后没有返回任何东西。将其设置为略高于您希望上传的最长时间的值。

答案 1 :(得分:0)

看,我不知道这对你是否会有所帮助,但是在升级到最新版本之后我有一个APC问题,而这个版本在存储之后就不会检索到这些信息。

我正在撕扯我的头发试图找出它为什么不起作用。我重新启动了服务器,它再次运行。自从(一周以前)以来没有问题。我怀疑可能存在某种可能触发的错误。

所以考虑重新启动服务器,如果这是一个选项,看看是否有帮助。

FYI。我没有处理大文件,因此问题可能无关。

答案 2 :(得分:0)

确保upload_max_filesize和post_max_size大于您上传的文件。据我所知,apc.max_file_size不会影响它。

您还需要将apc.rfc1867 = 0更改为10k或100k

  

更新的频率应该是   对用户缓存条目   上传进度。这可以采取   总文件百分比的形式   大小或字节大小(可选)   以“k”,“m”或“g”为后缀   千字节,兆字节或千兆字节   分别(不区分大小写)。