本文目录一览:
PHP实现定时任务的几种方式
一. 简单
?php
ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.
set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制的执行下去
ini_set('memory_limit','512M'); // 设置内存限制
$interval=60*30;// 每隔半小时运行
do{
//ToDo
sleep($interval);// 等待5分钟
}
while(true);
二. 简单 可控型
config.php
?php
return 1;
?
cron.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);
三. 简单 改进型
?php
$time=15;
$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
/*
function
*/
sleep($time);
file_get_contents($url);
?
怎样定时执行某个PHP脚本文件,带参数,没有服务器权限,虚拟主机用户 - 技术问答
php定时执行任务的几个方法(网上搜集,未验证)1.
Linux下crontab,
windows下计划任务
2.
找个被频繁调用的网页,
里面加上一个检测代码
3.
set_time_limit(0);
ignore_user_abort(true);4.
用一台机器开着页面,使用AJAX完成这个定时任务(我自己添加的,觉得也算是一种方法)由于没有管理权限,方法1不靠谱;方法2的前提是必须有大量的用户群体;方法3可以一试,但是服务器一旦重启就会失效。方法4,时间可能不是很精确,而且客户端页面一直开启似乎也很难做到。
如何使用Linux的Crontab定时执行PHP脚本的方法
*/1 * * * * /usr/local/php/bin/php /home/wwwroot/clewx/web/linux.php Crontab Dingdian op 14186
这是我服务器上的crontab粘贴给你了。
1、*/1是代表每分钟。
2、/usr/local/php/bin/php 是php脚本。意思就是拿PHP去执行,跟拿迅雷下载东西一个道理,都是需要指定一个东西去执行。
3、/home/wwwroot/clewx/web/linux.php 是php程序
4、Crontab Dingdian op 14186 是4个参数,因为我的程序是MVC的,所以执行的是Crontab模块的Dingdian控制器的op方法,14186是一个参数
5、上linux.php代码,直接使用$argv可以接收参数
$_GET['m'] = $argv[1];
$_GET['c'] = $argv[2];
$_GET['a'] = $argv[3];
$_GET['id'] = $argv[4];