用php如何实现定时执行,每隔多久执行一次呢?
话说PHP是世界上最好的语言,肯定可以的。
看下面一个例子,
执行一次后,每隔3秒执行一次 把时间写入 log中。
<?php ignore_user_abort(); //关闭浏览器仍然执行 set_time_limit(0); //让程序一直执行下去 $interval=3; //每隔一定时间运行(单位秒) do{ $msg=date("Y-m-d H:i:s"); file_put_contents("log.log",$msg,FILE_APPEND); //记录日志 sleep($interval); //等待时间,进行下一次操作。 }while(true); ?>
复制代码
核心函数:
int ignore_user_abort ([ bool $value ] )
设置客户端断开连接时是否中断脚本的执行
PHP 以命令行脚本执行时,当脚本终端结束,脚本不会被立即中止,除非设置 value 为 TRUE,否则脚本输出任意字符时会被中止。
bool set_time_limit ( int $seconds )
设置允许脚本运行的时间,单位为秒。如果超过了此设置,脚本返回一个致命的错误。默认值为30秒,或者是在php.ini的max_execution_time被定义的值,如果此值存在。
当此函数被调用时,set_time_limit()会从零开始重新启动超时计数器。换句话说,如果超时默认是30秒,在脚本运行了了25秒时调用 set_time_limit(20),那么,脚本在超时之前可运行总时间为45秒。
int sleep ( int $seconds )
程序延迟执行指定的 seconds 的秒数。