欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  神坛PHP

php定时任务+crontab

程序员文章站 2021-12-28 21:43:15
...

缺点: 启动之后,便无法控制, 除非终止 PHP 宿主. 不要采用这样方法, 除非你是黑客.

<?php

ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.

set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制的执行下去

ini_set('memory_limit', '512M'); // 设置内存限制

$interval = 5;// 每隔半小时运行

do {

    echo '我来了';//do some

    sleep($interval);// 等待5分钟

} while (true);


缺点: 占系统资源, 长时间运行,会有一些意想不到的隐患。比如内存管理方面的问题 .

config.php

<?php

return 1;

?>

cron.php//通过config.php来控制程序是否进行

ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.

set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制的执行下去

$interval=60*30;// 每隔半小时运行

do{

  $run = include 'config.php';

  if(!$run) die('process abort');

  //ToDo

  sleep($interval);// 等待5分钟

}

while(true);


Unix平台

crontab -e

00 * * * * /usr/local/bin/php /home/john/myscript.php//每一小时执行


使用URL执行脚本

00 * * * * lynx -dump http://www.sf.net/myscript.php


使用 CURL 访问URL来每5分执行PHP脚本。Curl默认在标准输出显示输出。使用 "curl -o" 选项,你也可以把脚本的输出转储到临时文件temp.txt。

*/5 * * * * /usr/bin/curl -o temp.txt http://www.sf.net/myscript.php


使用WGET访问URL来每10分执行PHP脚本。-q 选项表示安静模式。"-O temp.txt" 表示输出会发送到临时文件。

*/10 * * * * /usr/bin/wget -q -O temp.txt http://www.sf.net/myscript.php




相关标签: 定时任务