用于在后台检查数据库的服务器端脚本

时间:2011-04-28 20:33:44

标签: php mysql apache

我目前正在为我们的课程编写一个“类似论坛”的网站,其工作方式类似于常见问题解答,我们班上的每个人都可以发布答案。我想实现一个系统,其中一个学生(班长)可以上传这些问题(教师经常询问的问题,并且很可能成为测试题)并选择哪个用户必须回答哪个问题。

现在我想编写一个系统,在一段时间后提醒(电子邮件)用户他的问题没有被回答,并且他应该回答它。 因此,我需要每隔约30分钟检查一次我的数据库,看看这个“answertime”是否已用完,并向用户发送电子邮件。

我认为除非有办法在后台运行脚本,否则我无法使用PHP脚本实现此目的。我还想过编写一个外部程序来检查数据库,但我不喜欢使用一个程序,如果没有我注意到它可能会失败。

所以我想问一下,最好的方法是什么?

2 个答案:

答案 0 :(得分:1)

您可以在服务器端设置cron job,每x分钟运行一次php脚本 这是为了linux。

对于Windows,您可以将计划任务设置为每x分钟运行一次脚本

答案 1 :(得分:0)

如果您的虚拟主机上没有cron,则可能会在正常脚本执行结束后运行定期任务。方法如下:

查看this PHP feature的详细信息:

register_shutdown_function()

在脚本开始时,普通用户使用浏览器经常调用该脚本,注册一个关闭功能。然后让脚本正常执行,最后执行

exit;

由于退出,浏览器假定服务器脚本已完成 - 尽管已注册的关闭功能仍在执行。

请注意,如果最后一次执行的时间不早于预定义的分钟数,则关闭功能会立即终止。

不用说,使用cron作业比这种方法更有利。