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


How to execute a PHP file in background for every 30 seconds

我正在开发航班门户。

如果任何用户预订了票证,他/她将获得一些状态,如预订成功/正在预订

如果状态为预订成功,用户将收到一封包含票证详细信息的邮件。

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

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

这将是一个持续的过程。

谁能给我举个好例子吗。

我会很感激的,

Sowmya

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

有多种方法可以做到这一点。

最好的方法是使用Cron作业。

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

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

对于网络工作者来说,它是HTML5的一个功能,所以如果你希望人们使用不支持它的浏览器,它就不会被推荐

如果您的服务器运行在cPanel上,您可以轻松地设置cron作业。否则,如果你在没有cPanel的情况下付费托管,你就必须通过你的终端或通过你的托管提供商来完成。

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

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

纯JavaScript

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

jQuery

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

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