我在server上有一个php脚本需要长时间运行,(大概要1个小时)。
已经设置了set_time_limit(0)就比方说
<?php
set_time_limit(0);
while(1) {
// do nothing
}
?>
但无论在windows上用IE访问,还是在linux上用firefox访问,过不了几分钟就弹出页面
网络访问消息:: 不能显示此页
解释: 在页面检索完成之前,请求超时。尝试下列:
刷新页:单击“刷新”按钮来再次搜索此页。这可能是一个一次性错误。
如果您仍然看不到请求的页面,请与您的管理员或支持人员联系。
技术信息(提供给支持人员)
错误代码 1460: 超时
背景信息: 网关不能从您要访问的网站、DNS 服务器或另一个网关服务器接收到及时响应。这可能表明网拥塞,或者该网站遇到技术困难。
日期: 2010-10-10 6:42:17
服务器: srv-isa.actions.com.cn
源: 防火墙 然后后台的php脚本就停止了
请问该怎么办才能让php脚本一直跑下去呢?
已经设置了set_time_limit(0)就比方说
<?php
set_time_limit(0);
while(1) {
// do nothing
}
?>
但无论在windows上用IE访问,还是在linux上用firefox访问,过不了几分钟就弹出页面
网络访问消息:: 不能显示此页
解释: 在页面检索完成之前,请求超时。尝试下列:
刷新页:单击“刷新”按钮来再次搜索此页。这可能是一个一次性错误。
如果您仍然看不到请求的页面,请与您的管理员或支持人员联系。
技术信息(提供给支持人员)
错误代码 1460: 超时
背景信息: 网关不能从您要访问的网站、DNS 服务器或另一个网关服务器接收到及时响应。这可能表明网拥塞,或者该网站遇到技术困难。
日期: 2010-10-10 6:42:17
服务器: srv-isa.actions.com.cn
源: 防火墙 然后后台的php脚本就停止了
请问该怎么办才能让php脚本一直跑下去呢?
set_time_limit(0);
while(1) {
// do nothing
sleep(1);
}
?>每做完一个循环暂停一下,否则分配的资源会被占尽,就宕了
执行到临界时间(服务器超时)前模拟http请求再次调用这个脚本 提供响应参数让起继续执行。
2、修改你的程序,在循环中要有输出,那怕是 echo ' ';
ob_end_flush();
for($i = 1; $i <= 300; $i++ )echo ' ';$i = 0;
while(1) {
echo $i;
sleep(1);
flush();
$i++;
}