我编写了一个PHP脚本,必须并行处理并进行一些处理,然后主页面在处理后返回数据。我目前正在使用pcntl函数来执行此操作。我需要在2到10个线程之间运行并行工作,我必须等到脚本输出到浏览器之前从所有线程得到结果。
不幸的是,我发现输出中出现了多个“Content-Type”标题:
Content-Type: text/plain
Content-Type: text/plain
Content-Type: text/plain
[... actual content ...]
它似乎是每个线程产生的一个标题。在处理之前,我试图通过STDOUT
关闭fclose(STDOUT)
,并且我尝试通过输出缓冲来覆盖所有内容,但无济于事。我还没有找到其他人遇到这个问题,所以要么没有人试图这样做,要么我正在做一些不合时宜的事情。
我真的在寻找阻止这种情况发生的方法,或者建议其他方法来完成这项工作。
服务器设置为在mod_suPHP下使用PHP作为CGI,如果这有任何区别。
答案 0 :(得分:0)
您是否尝试过会话变量? 您可以在每个脚本完成/成功时设置会话变量,然后检查/等待它们是否在主进程中完成/成功。