このコードを含む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 秒後にスクリプトをシャットダウンするオプションがあります。