如何每30秒在后台执行一个PHP文件

时间:2013-06-25 07:06:21

标签: php

我正在飞行门户网站上工作。

如果有任何用户预订机票,他/她将获得一些状态,例如预订成功 / 预订待审

如果状态为预订成功,则用户将收到包含故障单详细信息的邮件。

如果 BOOKING PENDING ,将向用户显示一条消息(您的故障单正在处理中,您在确认故障单后收到消息/电子邮件)。

现在从后端我必须每30秒运行一个PHP文件,直到我获得成功状态。

这将是一个持续的过程。

任何人都可以用一个很好的例子告诉我。

我会感激,

Sowmya

4 个答案:

答案 0 :(得分:14)

您正在寻找CRON,这有助于您按计划时间安排任务。 那就是你可以在你安排的时间执行/运行PHP脚本。

* * * * * /path/to/php_file
* * * * * sleep 15; /path/to/php_file
* * * * * sleep 30; /path/to/php_file
* * * * * sleep 45; /path/to/php_file

上面的cron作业将每隔15秒运行一次你的php脚本。这里sleep将有助于延迟每15秒的脚本。

答案 1 :(得分:2)

有多种方法可以这样做。

最好的方法是使用Cron Job

其他方式是使用网络工程师或AJAX请求,但这些要求浏览器始终处于活动状态。

Here您可以找到如何进行设置。

对于webworker,它是一个HTML 5功能,因此如果您希望使用不支持浏览器的人,则不会建议使用。

如果您的服务器在cPanel上运行,则可以轻松设置cron作业。否则你必须通过我认为的终端或通过您的托管服务提供商进行,如果您没有cPanel付费托管。

您可以设置像this这样的cron作业,栏中使用的命令是
/path/to/php -q /absolute/path/to/your/phpfile.php >/dev/null

答案 2 :(得分:1)

如果您只想重新加载页面,可以使用Javascript来实现此目的。

普通JavaScript

setTimeout(function() {
     window.location.reload();
},  30000);

<强>的jQuery

$(function() {
    setTimeout(function() { 
        window.location.reload();
    },  30000);
});

否则,您可以使用CURL。 Visit here了解CURL的使用情况。

答案 3 :(得分:0)

参考此链接,您将了解有关cron作业的信息 http://unixhelp.ed.ac.uk/CGI/man-cgi?crontab+5