fwrite() 在通过上游运行进程时挂起mod_php,但单独运行很好


fwrite() hangs when running process through mod_php as upstream, but fine solo

我似乎在使用 PHP 5.3.10 的 Ubuntu Server 12.04 上运行 proc_open() 时遇到了问题。

当单独使用 Apache 运行时,似乎(在多个服务器上)发生的事情是进程成功打开,数据被写入,PDF 从进程的另一端出来。

但是,当通过以 Nginx 作为代理和 Apache 作为上游服务器的设置运行相同的代码时,stdin 的 fwrite() 似乎挂起/变得无响应,任何超过 1200 字节的内容。

静态二进制版本 0.10.0-rc2 似乎可以自行正常工作,并且可以呈现它可以访问的任何页面,所以我不确定是什么导致了这里的问题。

编辑:它似乎不是Nginx,因为我已经把它放在AWS盒子上的Apache前面,它仍然可以工作。

你需要运行 "tail -f" 并运行 PHP 脚本。您希望看到出现错误消息,这将引导您朝着正确的方向前进。

这是由于 Nginx 服务器没有它在请求中使用的域名的特定主机条目的结果。请求进入循环,不断命中外部地址并重定向到该地址,而不是在本地解析。