2011-10-10 73 views
1

我读@Dmitri的原example of how to use fastcgi_finish_request()问题,并试图跟随在我的Kohana 3.1安装程序的答案在index.php中的例子:PHP-FPM fastcgi_finish_request()无法正常运行

echo Request::factory() 
    ->execute() 
    ->send_headers() 
    ->body(); 

右后那我补充说:

fastcgi_finish_request(); 
sleep(5); 

最初,我认为它的工作。但后来我意识到在每其他请求只工作。例如:

  1. 导航到本地主机(工程,没有停顿)
  2. 点击链接到localhost /控制器(暂停5秒)
  3. 点击另一个链接到localhost /控制器(再次工作,没有停顿)

并继续这样。我错过了什么吗?喜欢也许在php5-fpm配置文件中的设置?

运行PHP 5.3.5-1ubuntu7.2用了Suhosin-补丁,Nginx的

+1

对不起,我几乎是在一年前问过这个问题。我找不到相关的代码,但会尽快更新此问题,只要我有时间回到它。感谢您的回复! –

回答

1

下一页到服务器响应本身(你可以用fastcgi_finish_request功能控制和放心它的工作原理是这样),可以有阻止(下一个)脚本从其他资源开始。

这可以是文件锁定(会话流行)和其他东西。由于您没有共享太多的代码,而且我们也没有看到您的Kohana配置,所以您应该查看您使用哪些组件以及它们获得哪些资源。

0

是不是因为你的Web服务器一次只处理一个PHP的情况下,它仍然是令人兴奋的前面的脚本?

1

呼叫session_write_close()你打电话fastcgi_finish_request()之前解决此问题:

session_write_close(); 
fastcgi_finish_request(); 
sleep(5); 
+0

不幸的是,事实并非如此。 –