有一个问题我百思不得其解啊,是浏览器缓存还是服务器缓存???

有个网站,因为有些商品需要每个月续费才可以继续使用

所以我写了一个php检测下个月商品到期的页面expire.php

在这个php文件中,我开头已经设置清空浏览器缓存信息:

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
header('Content-Type:text/html;charset=utf-8');

我在服务器上设置了一个定时任务,每个月的1号、7号那天的凌晨分别查找下个月是否有到期商品,如果有的话,直接入库到发邮件表中
定时任务设置如下:
00 00 1,7 * * root /usr/local/php/bin/php -q /home/wwwroot/expire.php 

这个月,有个朋友一个商品是下个月到期,这个月1号,系统检测到他的商品下月到期,就给他发了一封邮件提醒。于是他2号上网站续费了这个商品到8月份。

可是今天早上,系统又给他发了一个邮件,还是提醒商品7月份到期,明显这个邮件发错了,商品是8月份到期了,不应该再发邮件提醒的。

为什么会这样?

我查了下,今天早上的数据库中发邮件表,根本没有这封邮件,但我的邮件服务器日志显示发送了这封邮件

我怀疑,这个问题,是不是1号那天,系统发了到期提醒邮件后,这个就一直在服务器内存中?

于是今天早上凌晨执行计划任务时,将上次存在内存中的代码变量又重复执行了一遍?

作者: wzwen   发布时间: 2011-06-07

不知道,帮你顶

作者: xiaopeng0803   发布时间: 2011-06-07