Can';t在单机上模拟服务器到服务器的PHP脚本

Can';t在单机上模拟服务器到服务器的PHP脚本,php,nginx,Php,Nginx,在我运行Windows7的开发PC上,我试图模拟一个简单的服务器到服务器的安排,就像这样 脚本/test/index.php <?php echo "<div>hello</div>"; echo file_get_contents("http://localhost/test/server.php"); ?> <?php echo "<div>world</div>"; ?> 但当我将浏览器指向http://local

在我运行Windows7的开发PC上,我试图模拟一个简单的服务器到服务器的安排,就像这样

脚本
/test/index.php

<?php
echo "<div>hello</div>";
echo file_get_contents("http://localhost/test/server.php");
?>
<?php
echo "<div>world</div>";
?>
但当我将浏览器指向
http://localhost/test/
我没有得到任何回应。浏览器挂起了。但是,如果我将
server.php
替换为一个名为
server.html
的文件,该文件只包含以下内容:

<div>world</div>
为什么第一种方法不起作用?它应该起作用吗

信息

我通过在命令行上执行这个命令来运行PHP

php-cgi -b 127.0.0.1:9000
我正在使用nginx作为我的web服务器。在我的
nginx.conf
文件中有一行

worker_processes        1;

在nginx文档的某个地方,它说您应该在Windows机器上始终将上述值设置为
1
,但我不知道该设置有什么影响,或者它是否与我的问题有关。

PHP要求每个PHP页面都有一个进程作为服务器。在您的场景中,一次只允许处理一个请求。当您的第一个请求导致第二个PHP请求被服务时,当第一个脚本等待第二个脚本运行时,系统会有效地死锁,因为一次只能运行一个脚本


增加辅助进程将允许多个并发脚本运行。

您可以直接在浏览器上访问吗?可以。当直接访问时,它会给出所需的“世界”响应。
worker_processes        1;