我有一个名为 call.php 的页面,其中包含此代码
<script src="http://localhost/js/jquery.js"></script>
<script>
$(document).ready(function()
{
$.post("exe.php",
{
a: 'a'
},
function(data)
{
alert(data);
});
});
</script>
///close tabs after onload
在 exe.php 我有这个代码
<?php
set_time_limit(60);
ignore_user_abort(true);
sleep(20);
$file = fopen("test.txt","w");
?>
即使在立即关闭选项卡后,我也需要继续执行 php,它在使用 WAMP 的 localhost 中工作正常,但在我的主机中不起作用,它在 localhost 中可能 10-14 秒后停止,并且服务器 ignore_user_abort(true) 关闭问题是:打开这个功能ON解决问题?以及为什么即使在此功能关闭时它在 localhost 中也能正常工作
我的执行需要大约 30 秒的时间我需要让它工作
编辑
我试过这样的东西
<?php
ignore_user_abort(true);
function shutdown()
{
sleep(2);
$file = fopen($_SERVER["DOCUMENT_ROOT"].'/logs/2.txt',"w");
sleep(2);
$file = fopen($_SERVER["DOCUMENT_ROOT"].'/logs/4.txt',"w");
sleep(2);
$file = fopen($_SERVER["DOCUMENT_ROOT"].'/logs/6.txt',"w");
sleep(2);
$file = fopen($_SERVER["DOCUMENT_ROOT"].'/logs/8.txt',"w");
sleep(2);
$file = fopen($_SERVER["DOCUMENT_ROOT"].'/logs/10.txt',"w");
sleep(2);
$file = fopen($_SERVER["DOCUMENT_ROOT"].'/logs/12.txt',"w");
sleep(2);
$file = fopen($_SERVER["DOCUMENT_ROOT"].'/logs/14.txt',"w");
sleep(2);
$file = fopen($_SERVER["DOCUMENT_ROOT"].'/logs/16.txt',"w");
sleep(2);
$file = fopen($_SERVER["DOCUMENT_ROOT"].'/logs/18.txt',"w");
sleep(2);
$file = fopen($_SERVER["DOCUMENT_ROOT"].'/logs/20.txt',"w");
}
//register_shutdown_function('shutdown');
shutdown();
?>
打开选项卡并在完全加载后立即关闭此代码创建 2.txt ... 10.txt 所以肯定有一个选项可以在 10 秒后关闭脚本