如何在预定时间运行PHP脚本

时间:2012-01-04 06:40:58

标签: php mysql linux

我需要在每天的预定时间运行一个php脚本来更新数据库中的某些字段并发送自动电子邮件。我怎么能这样做?

是否可以在XAMP服务器中编写一些服务以在预定时间每天运行脚本?我不知道如何更新数据库并在预定时间自动发送电子邮件。任何人都可以分享一些想法或概念吗?

我正在使用在Linux服务器上运行的PHP和MySQL。

4 个答案:

答案 0 :(得分:3)

您应该使用Cron作业来执行此操作。查看the Wikipedia page上的示例。

Cron作业应该使用运行必要任务的php可执行文件来调用脚本。

答案 1 :(得分:2)

只需创建执行所需作业的脚本,一旦确定它正常工作,就可以通过在浏览器中点击URL来测试它。复制网址并添加Cronjob

然后安排此命令在您想要运行的任何时间运行

php ABSOLUTE_URL_TO_SCRIPT >> logfile

日志文件是可选的。但它会让你有机会看到发生了什么。

例如,如果您希望每4小时运行一次脚本,并假设您的脚本位于http://localhost/work/scripty.php并假设您的http根目录是/ var / www,

您将在终端中运行“crontab -e”并添加以下行:

* */4 * * * php /var/www/work/scripty.php

如果您需要更多信息,请注释我会更新答案。

答案 2 :(得分:0)

在Linux中,我们可以创建.sh文件,并可以给出一个特定的时间来运行,称为cron作业。 所以应该使用这个方法只做一个shell文件并给它一个时间段。 你应该为linux专家提供帮助。

使用以下内容:Cron Job

答案 3 :(得分:0)

PHP无法自行运行脚本,因为php没有像python这样的守护进程! 因此,您必须获取OS帮助才能调用自定义脚本。

例如在linux中: (example.sh) export USE_PHP = php cd $ SCRIPT_ROOTDIR $ USE_PHP -f cronfile.php service =“checkdatabase” (service是传递给cronfile的参数)。

要设置cron作业,请查看此链接  http://www.cyberciti.biz/faq/how-do-i-add-jobs-to-cron-under-linux-or-unix-oses/