2013-10-07 68 views
0

当我使用header()后,在我的srcipt执行完毕后被重新命名,同样的include,甚至当我使用html并将我的php放在那里时,iframe只在php完成后工作。立即重新编写并继续执行php脚本

<?php 
header("Location: localhost/index.html"); 
sleep(120); 
doSomethingUsefull(); 
?> 

由于sain之前的index.html是在120s之后构建的。 有没有其他的方式可以包括一些东西,得到redictet和我的脚本继续执行?

+0

理想情况下,配置良好的Web服务器不应该浪费资源来尝试为长时间断开的客户端完成请求。如果你解释你的最终需求(而不仅仅是你已经想出的解决方案),我很肯定你会得到更有用的答案。 –

+0

也许试试[ignore_user_abort](http://php.net/manual/en/function.ignore-user-abort.php)函数? – kamil09875

+0

好吧,它不浪费资源,并且诚实地希望我的客户能够放弃,所以我尽力让他知道!编辑:使用ignore_user_abort im alredy – Eric

回答

0

这是怎么回事?

<?php 
    header("Location: localhost/index.html"); 

    session_write_close(); 
    fastcgi_finish_request(); 

    sleep(120); 
    doSomethingUsefull(); 
?> 
+0

是否可以通过脚本添加“--enable-fpm”来配置?我其实不知道如何启用fpm,因为我找不到配置行,如下所述:http://www.php.net/manual/en/install.fpm.install.php编辑:明白了:ini_set( “--enable-FPM”,1); – Eric

+0

你有没有工作?如果不知道你有什么设置,很难弄清楚你需要做什么。您需要让PHP和您的Web服务器通过FPM进行通信。 – ameagher

+0

哈哈,你是对的,我不知道我在做什么,我不知道ini_set(“ - enable-fpm”,1);我只是做了错误的事情,所以它似乎工作:(你有什么好的链接,我可以得到我需要的信息? – Eric

相关问题