从网上看到了这么一段代码,是一个任务计划,即使关闭浏览器之后该脚本也能继续运行。我访问了一下,结果无法停止了。无奈我只好把Apache停了,重启了一下Apache。
有没有好办法停止该脚本的运行?代码如下:<?php
ignore_user_abort(); // 在后台运行脚本
set_time_limit(0); // 持续不间断运行脚本
$interval=10; // 时间间隔
$i = 1;
do{
$fp = fopen('text3.txt','a');
fwrite($fp,'test'.$i);
fclose($fp);
sleep($interval); // 等待10s后继续进行
$i++;
}while(true);
?>

解决方案 »

  1.   

    只要在页面中加个button,点击后生成个标识cookie,在while中判断cookie就行了
      

  2.   

    $b = true;
    while(true);在while中判断标识如果标识为假则$b = false;就行了,至于标识你爱用什么都行,什么cookie文件的都行
      

  3.   

    <?php
    ob_start();
    ob_end_flush();
    for($i = 1; $i <= 300; $i++ )echo ' ';$b = true;
    $i = 0;
    while($b) {
    //此处判断cookie动作
    echo $i;
    sleep(1);
    flush();
    $i++;
    }
    ?>
    <!--发送此请求请找个合适的地方创建cookie,这里就不表了-->
    <input type="button" value="用Ajax发送请求创建cookie来停止while循环">
      

  4.   

    cookie是不可行的 , cookie 在头里面了 ,前面的不可能知道后面修改的
    数据库,文件,session 都是 IO 操作,注意互斥问题
    建议用共享内存
      

  5.   

    楼主可以看下 下面的链接 我认同5楼
    http://wolf123.blog.163.com/blog/static/17505429820101116102848243/