2009-05-23 40 views
0

我需要在午夜自动重置MySQL字段值。它是表中特定行中的特定列。我知道如何在PHP中做到这一点,但我不知道如何在午夜时间执行PHP脚本,而无需自己做。你有没有可行的解决方案?在没有用户执行的情况下重置MySQL字段值

编辑:-------------------- 最好不要使用Cron Jobs。

回答

7

如果您正在运行在Linux上你可以使用一个cronjob

在大多数发行版有一个命令调用crontab中,你需要为你和特定的格式调度任务:

0 0 * * * php /path/to/file.php 

编辑: 在你编辑你之前写了这个:p我不确定有没有其他方法。你有没有使用cronjob的特定原因?

你可能甚至不需要指定PHP的一部分,如果PHP文件被标记为可执行即

0 0 * * * /path/to/file.php 

只是不要“使用chmod + X /path/to/file.php”的形式在Linux命令行

+0

+1暗示的cronjob – 2009-05-23 19:40:32

+0

只是好奇,如果有另一种方式来做到这一点。如果将来cron作业不可用。我试图设置一个cron作业,但似乎无法找到该文件。 /usr/local/bin/php -q /htdocs/www/mysubdirectory/cron.php 我按照http://www.modwest.com/help/kb5-125上的说明执行此操作。HTML – 2009-05-23 19:49:28

+0

遗憾: 在/ usr/local/bin目录/ PHP -q /htdocs/www/mysubdirectory/cron.php 是cron作业我使用 – 2009-05-23 19:50:11

0

您可以在您的程序中编写一个作业调度程序,以类似于cron的方式运行作业。这需要用户与系统进行交互以触发,但根据您的需求,它可能已经足够好了。这比运行一个cronjob要复杂得多,并且不能确保完美的定时(因为它不会运行,直到用户点击页面)。

您可能需要向您的数据库添加一个表,列出作业,您希望他们完成的时间以及锁定标志,以避免并发尝试运行作业。每次脚本运行时,都会检查此表是否有过期的作业,并根据需要运行它们。

0

询问如何在没有cron的情况下在每天晚上的同一时间可靠地启动脚本(或在Windows上执行计划任务),就像询问如何在没有服务器端语言的情况下制作动态网站一样。

如果您的应用程序完全依赖于正好在午夜运行的脚本,则cron是一项要求。如果你的用户有一个(愚蠢的)不允许cron的托管公司,他们将失去运气。

1

也有基于web的cron服务。基本上你建立一个帐户,然后他们定期访问你选择的URL。在您的服务器上,您设置了一个页面,可以完成您需要完成的任务。最好给它一个不太可能找到的名字,比如myjob789273634ahhh8s2nhw8sghusgf874wfu.php。你明白了。 (请记住,PHP脚本超时后像30secs。)

这里是谷歌搜索: ** oops我是新的,所以我不能张贴网址显然。只需搜索“基于Web的cron”。

好运 /0

相关问题