下面是我在百度知道里发的求助,希望这里的高手帮忙。因为我需要通过访问来驱动一个 while(1)的无限循环,我想在while(1)之前给浏览器返回一个通知启动成功,总之意思就是让浏览器认为页面已经结束了,实际上服务器上还在运行。
简单点表示就是类似于die()函数,输出一段信息,但不退出脚本。
我要做的功能也是是客户端一个按钮,点击以后服务器端做这个无限的循环,并且通知客服端已经开始了。
    请我以上情况该怎么处理 问题补充:潘占峰 :
     第一个php的输出控制,用flush 和 ob_flush可以输出缓冲,但浏览器并不会认为脚本已经结束了,比如我用AJAX来反问这个页面,Ajax不会收到结果,另外我的关键是 会做一个无限的while循环,我希望在循环前通知浏览器开始循环了。 另外 fopen()来反问这个处理文件的话也可以结束。
    至于第二个 php教程:PHP编程中for循环的使用方法 没看明白和我的问题有什么联系

解决方案 »

  1.   

    写个shell,在后台运行,然后用php调用这个shell.
      

  2.   

    樓上正解,只能通達shell解決
      

  3.   

    不会shell的话,可以在程序中以命令行模式(CLI)调用你那个有循环的代码。
      

  4.   

    shell 和 CLI 两种模式原理都是一样的,但这样的话都要一个中间的代码去执行他,不知道还有没有更好的解决方法,PHP本身没有
    类似的方法吗?
      

  5.   

    另外 我现在是在windows下编程,所以不知道怎么样让它在后台运行,linu下加个‘&’就可以了,那windows下该怎么办呢?
      

  6.   

    找了半天,我发现 php 的pcntl_fork 生成子进程算是比较好的方法,但问题是它好像在windows下不支持