2014-01-17 89 views
3

我有一个需要很长时间才能加载的php/apache页面。基本上,它看起来像这样:告诉HTTP客户端是否断开

<?php 
     doHeavyStuff_1(); 
     doHeavyStuff_2(); 
     doHeavyStuff_3(); 
     printResults(); 
?> 

它时有发生的时间,客户端断开的处理,比如说中间,第一步和第二步之间。有没有办法在PHP来检查客户端是否仍然连接,并停止进一步处理,如果不是?我想我的代码是这样的:

<?php 
     doHeavyStuff_1(); 
     if(<clientDisconnected>) die; 
     doHeavyStuff_2(); 
     if(<clientDisconnected>) die; 
     doHeavyStuff_3(); 
     if(<clientDisconnected>) die; 
     printResults(); 
?> 

回答

1

通常PHP(作为apache模块)应该会自动停止,如果用户断开连接。没有工作是必要的。

如果您有兴趣:如果您希望PHP继续处理,那么有函数ignore_user_abort()。您应该开始阅读手册页,尤其是注释,以了解如何使用它以及可能发生哪些问题。

+0

如果客户端断开连接,他想停止进一步的处理。 ignore_user_abort会做相反的事情。 –

+1

@WayneWhitty哦,我没有看到。在这种情况下,任何东西都不应该存在。 PHP将自动定期。 – hek2mgl