php中怎么实现后台执行??

2024-12-26 15:15:31
推荐回答(4个)
回答1:

用  ajax 实现异步加载


然后 


i

gnore_user_abort(true); 
//即使Client断开(如关掉浏览器),PHP脚本也可以继续执行. 
set_time_limit(0); 
while(1) { 
  $fp = fopen('time_task.txt',"a+"); 
  $str = date("Y-m-d h:i:s")."\n\r"; 
  fwrite($fp,$str); 
  fclose($fp); 
  sleep(5); //半小时执行一次 
}

回答2:

提供一个思路,我是这么做的,写一个读取文件内容的模块
function rf($f,$sp){
//$f为文件路径,$sp为读取位置
.....
fseek($f,$sp);
//读取指定长度的内容
$content = fread($f,$len);
.....

return $nextsp //返回下次要处理的位置,如果到文件尾,就置 -1.
}
然后后台通过AJAX调用以上处理文件,如果返回值>0就继续调用,如果为-1就结束

回答3:

php想要直接异步挺难,对多线程支持也不好
一般可以另外弄个消息队列来处理任务,php端发送任务到消息队列
另外一个程序去队列中取任务完成

回答4:

说的不够详细,PHP只是个代码 你说“实现PHP和浏览器异步??” 没明白你要表达什么