首页 > 代码库 > PHP 后台定时循环刷新某个页面 屏蔽apache意外停止
PHP 后台定时循环刷新某个页面 屏蔽apache意外停止
PHP 后台定时循环刷新某个页面
如果间隔时间过长的话 会出现apache自动停止的现象。出现的原因则是设置了
<IfModule mpm_winnt_module>
ThreadsPerChild 450
MaxConnectionsPerChild 3000
</IfModule>
错误日志报错
[mpm_winnt:notice] [pid 126236:tid 316] AH00362: Child: Waiting 270 more seconds for 3 worker threads to finish.
[mpm_winnt:notice] [pid 126236:tid 316] AH00362: Child: Waiting 240 more seconds for 3 worker threads to finish.
.......
[pid 126236:tid 316] AH00363: Child: Terminating 2 threads that failed to exit.
[pid 126236:tid 316] AH00364: Child: All worker threads have exited.
然后直接停止了进程 导致循环结束
//此文件保存在为 sleep.php //定义一个自动刷新的时间 $time = 500; //定义一个每次请求的最大运行时间 $time_limit = 200; ignore_user_abort(True); $rest_time=intval($_GET["time"]); //本PHP访问的URL $base_url=‘http://domain.com/sleep.php‘; //自动刷新的页面 $get_url=‘http://www.baidu.com‘; if($rest_time==0)$rest_time=$time; //延长PHP脚本执行的时间 set_time_limit(3601); //加载HttpClient类 require_once ‘HttpClient.php‘; //如果时间比较长 需要多次的请求 防止被意外关闭 if($rest_time>$time_limit){ //延时 sleep($time_limit); //请求本url $rest_time=$rest_time-$time_limit; HttpClient::quickGet($base_url.‘?time=‘$rest_time); exit(); }else{ //延时 sleep($rest_time); HttpClient::quickGet($get_url); HttpClient::quickGet($base_url); }
初次写 欢迎指正
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。