本文实例讲述了支持windows与linux的php计划任务的实现方法。包括了在winows下利用winodows计划任务来操作,还有在linux中利用linux的方法来实现。分享给大家供大家参考。具体实现方法如下:

使用php让浏览器刷新需要解决几个问题:

1.PHP脚本执行时间限制,默认的是30m 解决办法:set_time_limit();或者修改PHP.ini 设置max_execution_time时间(不推荐)

2.如果客户端浏览器关闭,程序可能就被迫终止,解决办法:ignore_user_abort即使关闭页面依然正常执行

3.如果程序一直执行很有可能会消耗大量的资源,解决办法使用sleep使用程序休眠一会,然后在执行

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

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

$interval=5;// 每隔5s运行

//方法1--死循环

do{

echo '测试'.time().'
';

sleep($interval);// 等待5s

}while(true);

//方法2---sleep 定时执行

require_once './curlClass.php';//引入文件

$curl = new httpCurl();//实例化

$stime = $curl->getmicrotime();

for($i=0;$i<=10;$i++){

echo '测试'.time().'
';

sleep($interval);// 等待5s

}

ob_flush();

flush();

$etime = $curl->getmicrotime();

echo '


';

echo round(($etime-stime),4);//程序执行时间

WINDOWS中设置计划任务执行PHP文件

在网上找了些WINDOWS执行PHP的计划任务的方法,有一个写得很全,可惜在我这竟然没通过。最后不得不综合各门派的方法,才能在我这运行成功。

1、写一个PHP程序,命名为test.php,内容如下所示:

$fp = fopen("test.txt", "a+");

fwrite($fp, date("Y-m-d H:i:s") . " 成功成功了!n");

fclose($fp);

?>

程序大胆地写,什么include、require尽管用,都没问题

2、新建Bat文件,命名为test.bat,内容如下所示:

D:phpphp.exe -q D:websitetest.php

相应目录自己改上

3、建立WINDOWS计划任务:

开始–>控制面板–>任务计划–>添加任务计划

浏览文件夹选择上面的bat文件

设置时间和密码(登陆WINDOWS的)

保存即可了。

4、over! 可以右键计划任务点“运行”试试

Linux的Crontab执行PHP脚本

一、在Crontab中使用PHP执行脚本

就像在Crontab中调用普通的shell脚本一样(具体Crontab用法),使用PHP程序来调用PHP脚本。

每一小时执行myscript.php如下:

# crontab -e

00 * * * * /usr/local/bin/php /home/john/myscript.php

其中 /usr/local/bin/php 为PHP程序的路径。

二、在Crontab中使用URL执行脚本

如果你的PHP脚本可以通过URL触发,你可以使用lynx或curl或wget来配置你的Crontab。

下面的例子是使用Lynx文本浏览器访问URL来每小时执行PHP脚本。Lynx文本浏览器默认使用对话方式打开URL。但是,像下面的,我们在lynx命令行中使用-dump选项来把URL的输出转换来标准输出。

00 * * * * lynx -dump http://www.centos.bz/myscript.php

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

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

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

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

以前对se特别感兴趣,但是自己又不会java,lucene等搜索引擎开发工具,于是不断挖掘php的功效。

最后发现php也可以做抓取,并且原理很易:直接获取页面源文件,然后通过正则或字符串的参照截取来获取需要的信息。但是性能上不能和搜索引擎的多线程抓取相比。

实现了上一步之后,又思考着,如果抓取可以自动定时获取,那么人工运行可执行页面也就省下来了。

后来也在一些php开源程序中了解到关于"计划任务"的效果:可以定时运行某程序,比如数据库备份,更新缓存,生成静态页面,生成网站地图等。

最近由于项目需要定时更新远程数据库到本地,网上搜了搜,还真找到了。

ignore_user_abort();函数搭配set_time_limit(0);和sleep($interval);即可实现以上自动更新。

先给出一个基本的范式,其中有个人的测试程序:

ignore_user_abort(); // run script in background

set_time_limit(0); // run script forever

$interval=30; // do every 15 minutes...

do{

$fp = fopen('text3.txt','a');

fwrite($fp,'test');

fclose($fp);

sleep($interval); // wait 15 minutes

}while(true);

?>

首先运行该程序,然后关闭该页面,程序仍然运行中,test会每隔30秒的填补到text3.txt文件。

个人感觉PHP定时执行任务的效率不是很高,建议关于定时执行任务的工作还是交给shell来做吧,比较那才是王道。

希望本文所述对大家的C#程序设计有所帮助。

windows兼容Linux php,支持windows与linux的php计划任务的实现方法相关推荐

  1. linux系统支持ntfs吗,linux支持NTFS

    我的linux系统是redhat的enterprise5,缺省的情况下是不支持NTFS系统的.需要安装相应的模块.我的安装步骤是: 1,到href="" target=_blank ...

  2. 联想电脑如何改w ndows更新,电脑是否能升级到Windows 8.1 及支持Windows 8.1系统的机型汇总...

    故障现象: 用户经常会关心:我的电脑是否能升级到Windows 8.1?这里提供了支持Windows 8.1系统的联想机型汇总. 解决方案: 一.支持Windows 8.1的硬件要求 Windows ...

  3. linux系统支持ntfs吗,Linux支持exFAT和NTFS

    Linux系统默认可以自动识别到fat32格式的盘,但fat32支持的文件不能大于4G,所以只能将移动硬盘和U盘格式化为NTFS和exFAT这两种格式的,对于U盘最好格式化为exFAT,NTFS对U盘 ...

  4. linux不支持modprobe命令,Linux中modprobe命令起什么作用呢?

    摘要: 下文讲述Linux中modprobe的功能说明,如下所示: modprobe命令功能: 用于采用智能方式向内核中加载模块 或从内核中移除模块 modprobe命令的原理: modprobe命令 ...

  5. linux不支持modprobe命令,Linux中的Modprobe命令

    Linux内核是Linux操作系统的核心组件. 它管理系统的资源,并且是计算机硬件和软件之间的桥梁. Linux内核具有模块化设计. 内核模块(通常称为驱动程序)是一段扩展内核功能的代码. 模块要么编 ...

  6. linux内核支持我vxlan,Linux内核轻量级隧道

    目前内核支持的封装类型由枚举类型lwtunnel_encap_types定义,如下所示支持MPLS.IP.ILA.IP6.SEG6.BPF和SEG6_LOCAL等7种类型.函数lwtunnel_val ...

  7. linux系统支持最大内存,Linux基础:如何找出你的系统所支持的最大内存

    大多数情况下你可以从BIOS.产品目录或者干脆手动找出你的系统所持的最大内存.这里,我们介绍一种简单有用的技巧--使用dmidecode来找出系统支持的最大内存,这样你就无需打开机箱或者参照BIOS和 ...

  8. linux内核支持的加密算法,Linux Kernel(Android) 加密算法总结(三)-应用程序调用内核加密算法接口...

    本文将主要介绍,如何在应用程序空间中(user space) 调用内核空间(kernel space)加密模块提供的加密算法API. 方法一:通过调用crypto: af_alg - User-spa ...

  9. linux空间支持伪静态,[转载]Linux下nginx支持.htaccess文件实现伪静态的方法

    方法如下: 1. 在需要使用.htaccess文件的目录下新建一个.htaccess文件, 如本人的一个Discuz论坛目录: vim /var/www/html/168pc/bbs/.htacces ...

最新文章

  1. Python bytes 的使用
  2. 《从问题到程序:用Python学编程和计算》——第2章 计算和编程初步 2.1 数值表达式和算术...
  3. Eclipse装了插件之后插件没反应启用不了或不显示问题的解决办法
  4. 「后端小伙伴来学前端了」Vue中为什么直接安装less-loader会报版本过高错误?你有没有思考过?
  5. Combotree--别样的构建层级json字符串
  6. hive臨時udf與永久udf詳細操作流程
  7. 洛谷P3360偷天换日(树形DP)
  8. .net解决Xss攻击
  9. Processing编程学习指南1.5 颜色透明度
  10. idea建springcloud项目_idea创建springcloud项目图文教程(EurekaServer注册中心)
  11. 2017:社保再选管理人基金公司争“主力”
  12. java实现modbus rtu协议与 modscan等工具(4)rtu转tcp
  13. Linux下载安装JDK
  14. PPT如何导出高质量图片
  15. 完全数据驱动的对话模型和社交机器人
  16. 谈谈人的视觉特性与电视的关系
  17. 柜台管理系统(1.2)
  18. 【CSS】CSS样式表+复合选择器
  19. ”全球软件测试实践“问卷调查报告
  20. 使用Pygame制作2048小游戏

热门文章

  1. mysql8.0 直方图_MySQL创建横向直方图
  2. 不显示调用super_super关键字
  3. R 语言中的高级图像处理包
  4. NC:港大张彤团队-基于组学的耐药基因风险评估框架
  5. 绝望!导师只给我一周时间.......
  6. Microbiome:Kraken2进行16S物种注释又快又准,秒杀QIIME2
  7. JCR:曝气生物滤池处理焦化废水过程中N2O和NO的产生机理与群落功能研究
  8. TypeError: expected str, bytes or os.PathLike object, not module
  9. R语言deLong‘s test:通过统计学的角度来比较两个ROC曲线、检验两个ROC曲线的差异是否具有统计显著性
  10. R语言构建LogisticRegression模型并计算AUC指标