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

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

WBOY
WBOYasal
2016-06-13 09:24:18886semak imbas

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);楼主要研究下这两个
 

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn