windows兼容Linux php,支持windows与linux的php计划任务的实现方法
本文实例讲述了支持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计划任务的实现方法相关推荐
- linux系统支持ntfs吗,linux支持NTFS
我的linux系统是redhat的enterprise5,缺省的情况下是不支持NTFS系统的.需要安装相应的模块.我的安装步骤是: 1,到href="" target=_blank ...
- 联想电脑如何改w ndows更新,电脑是否能升级到Windows 8.1 及支持Windows 8.1系统的机型汇总...
故障现象: 用户经常会关心:我的电脑是否能升级到Windows 8.1?这里提供了支持Windows 8.1系统的联想机型汇总. 解决方案: 一.支持Windows 8.1的硬件要求 Windows ...
- linux系统支持ntfs吗,Linux支持exFAT和NTFS
Linux系统默认可以自动识别到fat32格式的盘,但fat32支持的文件不能大于4G,所以只能将移动硬盘和U盘格式化为NTFS和exFAT这两种格式的,对于U盘最好格式化为exFAT,NTFS对U盘 ...
- linux不支持modprobe命令,Linux中modprobe命令起什么作用呢?
摘要: 下文讲述Linux中modprobe的功能说明,如下所示: modprobe命令功能: 用于采用智能方式向内核中加载模块 或从内核中移除模块 modprobe命令的原理: modprobe命令 ...
- linux不支持modprobe命令,Linux中的Modprobe命令
Linux内核是Linux操作系统的核心组件. 它管理系统的资源,并且是计算机硬件和软件之间的桥梁. Linux内核具有模块化设计. 内核模块(通常称为驱动程序)是一段扩展内核功能的代码. 模块要么编 ...
- linux内核支持我vxlan,Linux内核轻量级隧道
目前内核支持的封装类型由枚举类型lwtunnel_encap_types定义,如下所示支持MPLS.IP.ILA.IP6.SEG6.BPF和SEG6_LOCAL等7种类型.函数lwtunnel_val ...
- linux系统支持最大内存,Linux基础:如何找出你的系统所支持的最大内存
大多数情况下你可以从BIOS.产品目录或者干脆手动找出你的系统所持的最大内存.这里,我们介绍一种简单有用的技巧--使用dmidecode来找出系统支持的最大内存,这样你就无需打开机箱或者参照BIOS和 ...
- linux内核支持的加密算法,Linux Kernel(Android) 加密算法总结(三)-应用程序调用内核加密算法接口...
本文将主要介绍,如何在应用程序空间中(user space) 调用内核空间(kernel space)加密模块提供的加密算法API. 方法一:通过调用crypto: af_alg - User-spa ...
- linux空间支持伪静态,[转载]Linux下nginx支持.htaccess文件实现伪静态的方法
方法如下: 1. 在需要使用.htaccess文件的目录下新建一个.htaccess文件, 如本人的一个Discuz论坛目录: vim /var/www/html/168pc/bbs/.htacces ...
最新文章
- Python bytes 的使用
- 《从问题到程序:用Python学编程和计算》——第2章 计算和编程初步 2.1 数值表达式和算术...
- Eclipse装了插件之后插件没反应启用不了或不显示问题的解决办法
- 「后端小伙伴来学前端了」Vue中为什么直接安装less-loader会报版本过高错误?你有没有思考过?
- Combotree--别样的构建层级json字符串
- hive臨時udf與永久udf詳細操作流程
- 洛谷P3360偷天换日(树形DP)
- .net解决Xss攻击
- Processing编程学习指南1.5 颜色透明度
- idea建springcloud项目_idea创建springcloud项目图文教程(EurekaServer注册中心)
- 2017:社保再选管理人基金公司争“主力”
- java实现modbus rtu协议与 modscan等工具(4)rtu转tcp
- Linux下载安装JDK
- PPT如何导出高质量图片
- 完全数据驱动的对话模型和社交机器人
- 谈谈人的视觉特性与电视的关系
- 柜台管理系统(1.2)
- 【CSS】CSS样式表+复合选择器
- ”全球软件测试实践“问卷调查报告
- 使用Pygame制作2048小游戏
热门文章
- mysql8.0 直方图_MySQL创建横向直方图
- 不显示调用super_super关键字
- R 语言中的高级图像处理包
- NC:港大张彤团队-基于组学的耐药基因风险评估框架
- 绝望!导师只给我一周时间.......
- Microbiome:Kraken2进行16S物种注释又快又准,秒杀QIIME2
- JCR:曝气生物滤池处理焦化废水过程中N2O和NO的产生机理与群落功能研究
- TypeError: expected str, bytes or os.PathLike object, not module
- R语言deLong‘s test:通过统计学的角度来比较两个ROC曲线、检验两个ROC曲线的差异是否具有统计显著性
- R语言构建LogisticRegression模型并计算AUC指标