1
我已经编写了一个PHP脚本,该脚本必须分叉,并行执行一些处理,然后主页面在处理后返回数据。我目前使用pcntl函数来做到这一点。我需要在2到10个线程之间的任意位置运行并行工作,并且必须等到从脚本输出到浏览器之前得到所有线程的结果。如何在处理PHP中的线程时阻止重复的头文件?
不幸的是,我发现我出现在输出多个“内容类型”标题:
Content-Type: text/plain
Content-Type: text/plain
Content-Type: text/plain
[... actual content ...]
这似乎是一个头每线程产生。我试过在处理之前通过fclose(STDOUT)
关闭STDOUT
,并且我已经尝试通过输出缓冲来解决所有问题,但无济于事。我还没有发现任何人有这个问题,所以或者没有人试图做到这一点,或者我正在做一些没有成功的事情。
我真的很想找到任何方法来阻止这种情况的发生,或者提供其他方法来解决这个问题。
服务器设置为在mod_suPHP下使用PHP作为CGI,如果这有什么区别的话。
如果没有正确的代码示例,我不能告诉你任何有用的内容 – Kris 2009-11-10 16:19:58
如果存在标题密钥,它将被覆盖,在我看来。 – powtac 2009-11-10 16:22:54
我相信从apache内部分叉是一个不行。通过exec产生一个新的进程,并有*那*一个分支。 – 2009-11-10 16:39:30