1

我正在研究飞行门户。

如果任何用户预订机票,他/她将获得一些状态,例如BOOKING SUCCESS / BOOKING PENDING

如果状态为BOOKING SUCCESS,用户将收到一封包含门票详细信息的邮件。

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

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

这将是一个持续的过程。

谁能告诉我一个很好的例子。

我会感激不尽,

索米亚

4

3 回答 3

17

您正在寻找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

于 2013-06-25T07:08:04.090 回答
2

有多种方法可以这样做。

最好的方法是使用Cron Job

其他方法是使用 webworker 或 AJAX 请求,但这些方法需要浏览器始终处于活动状态。

在这里您可以找到如何设置它。

至于webworker,它是 HTML 5 功能,因此如果您希望人们使用不支持它的浏览器,则不建议这样做。

如果您的服务器在 cPanel 上运行,您可以轻松设置 cron 作业。否则,如果您在没有 cPanel 的情况下付费托管,您将不得不通过您的终端或通过您的托管服务提供商进行操作。

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

于 2013-06-25T07:09:29.157 回答
1

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

纯 JavaScript

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

jQuery

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

否则,您可以使用 CURL。访问此处了解 CURL 的用法。

于 2013-06-25T07:16:47.757 回答