若有管理权限
一、Window系统下,做计划任务? ? 例如? ???C:\php5\php.exe -f??
二、Linux系统下? ? 例如? ???/usr/local/php/bin/php -f? ?若无管理权限,只有虚拟空间你至少要访问一个URL来启动执行你的任务的脚本,脚本头部加入 ignore_user_abort (true)函数,忽略用户的中断请求 ,一直循环执行,例如sleep(60 * 30) 半个小时[]
1、不用浏览器打开网页,很容易,用curl之类的模块就行
2、定时自动运行,这个稍微有点难度。单纯用php写还不如用系统自带的程序来写或者执行某个定时程序!比方用shell定时来执行你的php文件
php做不到每天定时执行,只有java或者c可以,因为php是不访问页面就不会动得代码,但是有一个方法可以曲线救国。
可以写一个每天定时执行的页面,然后视你的操作系统而言,做定时任务,定时去访问这个页面。
Linux操作系统定时任务系统 Cron 入门 cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务: /sbin/service crond start //启动服务 /sbin/service crond //关闭服务 /sbin/service crond restart //重启服务 /sbin/service crond reload //重新载入配置 你也可以将这个服务在系统启动的时候自动启动: 在/etc/rc.d/rc.local这个脚本的末尾加上: /sbin/service crond start 现在Cron这个服务已经在进程里面了,我们就可以用这个服务了。
没搞清啥意思,不过偶做过啊,没发现什么难度,数据分3个库,历史库和当天库,统计库,系统在每天凌晨4点自动执行统计脚本,清空当天库中的昨日记入并插入历史库当天库可以用来实时计算流量,历史库用来统计一些平均数,统计库用来计算累加流量的一些信息关于统计脚本,用纯php写之后用批处理或者shell运行就好了,我的经验是5万条的时候用insert (select)语句插入历史库,用group by来统计最后再del的话,不超过10秒钟[[i] 本帖最后由 halley 于 2006-10-4 16:09 编辑 [/i]]
php定时执行任务的几个方法(网上搜集,未验证)
1. Linux下crontab, windows下计划任务
2. 找个被频繁调用的网页, 里面加上一个检测代码
3. set_time_limit
(0); ignore_user_abort(true);
4. 用一台机器开着页面,使用AJAX完成这个定时任务(我自己添加的,觉得也算是一种方法)由于没有管理权限,方法1不靠谱;方法2的前提是必须有大量的用户群体;方法3可以一试,但是服务器一旦重启就会失效。方法
4,时间可能不是很精确,而且客户端页面一直开启似乎也很难做到。
可以考虑用其他的方法辅助PHP来实现,比如shell,如果是虚拟主机的话,就用页面定时转跳吧,不过不想转跳的话就用JS+Ajax来实现,JS倒计时,然后用AJAX获取PHP页面的运行结果。
如果要用PHP文件的话,勉强可以做到
php里有一个sleep函数,具体使用是sleep(time)这里的time是以秒为单位
首先,建立php脚本
<?php
while
(1){
//yourcode
sleep(3600*24);
}
?>
这里的yourcode就是你要PHP脚本执行的功能,虽然能达到这个目的,但是也有牺牲,你要在早上8点的时候通过URL访问这个脚本,也就是说执行PHP文件,并且,这个链接不能中断,要一直持续!!不然就无效了
PHP是单请求单执行,要有请求才执行的。
虚拟主机?可能你的提供商设置了,
超过30S的web程序是不健康的,你可以使用ajax来实现。