首页 > php教程 > php手册 > PHP定时任务延缓执行的实现,php延缓

PHP定时任务延缓执行的实现,php延缓

WBOY
发布: 2016-06-13 09:24:18
原创
883 人浏览过

PHP定时任务延缓执行的实现,php延缓

复制代码 代码如下:


/*
|---------------------------
|PHP定时任务
|@黑眼诗人
|---------------------------
*/
ignore_user_abort(true); //客户端断开时忽略脚本中止(允许脚本一直执行)

set_time_limit(0); //设置脚本最长执行时间,0不限制

do{
$fp = fopen('auto.txt', 'w');

if($fp)
{
$text = '你好\n\r';

$count = 0;

for($i=1; $i {
if(! $c = fwrite($fp, '第'.$i.'行:'.$text)) //返回写入字符数,失败时返回false
{
echo '第'.$i.'次的写入失败!';
}

$count += $i;
}
}

fclose($fp);

sleep(60); //延缓60秒执行

}while(true);

PHP怎实现定时执行脚本程序?

如果要用PHP文件的话,勉强可以做到
php里有一个sleep函数,具体使用是sleep(time)这里的time是以秒为单位
首先,建立php脚本
while(1){
//yourcode
sleep(3600*24);
}
?>
这里的yourcode就是你要PHP脚本执行的功能,虽然能达到这个目的,但是也有牺牲,你要在早上8点的时候通过URL访问这个脚本,也就是说执行PHP文件,并且,这个链接不能中断,要一直持续!!不然就无效了

PHP是单请求单执行,要有请求才执行的。
 

PHP可以否自动定时执行某代码

php是需要触发执行的, 没办法长期保持执行着它, 即便你用sleep, 它仍然是需要你首先去点它一次, 它才会一直存在

方法是用计划任务, 没错就是计划任务, 无论windows/*nix都有计划任务, 你可以把php放进计划任务里, 用命令行方式执行php程序

事实上没有任何可能性在0访问的情况下让php执行, 因为php自身就是服务器端脚本解释工具, 服务器当然是有人访问才工作才对, 楼主在反其道而行, 如果你希望用php执行桌面程序, 也不是没有办法,php官方就有这种工具, 但是和php的运行方式有太多不同,所以控制方式也都不同,严格的说,只是php的语法而已

对于提问者补充的补充:
ignore_user_abort(1);
set_time_limit(0);楼主要研究下这两个
 

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板