Heim  >  Artikel  >  Backend-Entwicklung  >  PHP定时任务延缓执行的实现,php延缓_PHP教程

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

WBOY
WBOYOriginal
2016-07-13 10:17:38993Durchsuche

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

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/890583.htmlTechArticlePHP定时任务延缓执行的实现,php延缓 复制代码 代码如下: /* |--------------------------- |PHP定时任务 |@黑眼诗人 www.chenwei.ws |------------------------...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn