我有一个将数据保存到数据库的php文件,即使浏览器关闭,我希望文件继续运行。 这是我试过的: js.php文件:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
<script type="text/javascript">
setInterval(function() {
$.get('http://localhost/cryptopiamodelp/tst.php/', function(data) {
//do something with the data
alert('Load was performed.');
});
}, 5000);
</script>
tst.php文件:
<?php
$con = mysqli_connect('localhost','root','','cryptopiamodel') or die(mysql_error());
$sqli = "INSERT INTO test VALUES ('')" or die(mysqli_error());
mysqli_query($con,$sqli) or die(mysqli_error($con));
?>
但这仅在浏览器打开时有效,这是否可以在php中关闭浏览器时执行js.php文件,以便将数据连续保存到数据库中? 提前谢谢。
答案 0 :(得分:0)
您可以设置一个cron作业。 cron作业允许您设置几乎任何类型的计划。根据您托管Web应用程序的位置,可以设置不同的cron作业。
例如,如果您的站点托管带有cPanel,则可以选择定义cron作业。您可以设置计划并提供php文件的路径。
答案 1 :(得分:-1)
您可以使用ignore_user_abort来避免php在浏览器断开连接时挂起执行。
然后,您可以使用set_time_limit将默认时间限制(30秒)更改为无限制或您需要的任何其他值:
ignore_user_abort(true);
set_time_limit(0);