windows下的定时任务设置详解
windows下的定时任务设置详解
一、总结
一句话总结:
1、php.exe是什么?
就是php中自带的一个exe,不是我们写的,这个exe是可以执行其他的PHP的

二、windows下的定时任务设置详解
因为在项目中有个需求是大批量的数据自动计算后插入更新到数据库中,为避免占用正常资源,需要在固定时间段进行自动计算,因为项目服务器是windows server2012,就考虑用windows平台强大的任务计划程序来实现。
此外在网上找了这类似问题的解决办法后,还可用PHP的ignore_user_abort()函数,这个函数还没使用过,PHP官网是这样介绍的
int ignore_user_abort ([ string $value ] )
设置客户端断开连接时是否中断脚本的执行 ,PHP以命令行脚本执行时,当脚本终端结束,脚本不会被立即中止,除非设置 value 为 TRUE,否则脚本输出任意字符时会被中止。
个人理解就是不通过浏览器来执行,而是通过命令行方式执行的情况下,此函数的代码块继续执行。在这篇博文中有具体地通过此函数的实现过程。
下面是一个测试用的例子。
windows批处理文件
新建文本文档,编写如下代码,保存为.bat文件。
E:
"E:\PHP\wamp\bin\php\php5.5.12\php.exe" -f "E:\PHP\wamp\www\write.php
PHP运行模式
平时执行php代码,是通过浏览器向服务器请求的方式执行的,这种运行模式叫模块模式。 模块模式是以mod_php5模块的形式集成,此时mod_php5模块的作用是接收Apache传递过来的PHP文件请求,并处理这些请求,然后将处理后的结果返回给Apache。如果我们在Apache启动前在其配置文件中配置好了PHP模块(mod_php5), PHP模块通过注册apache2的ap_hook_post_config挂钩,在Apache启动的时候启动此模块以接受PHP文件的请求。
而我们用php.exe执行时, 便是 CLI模式,这篇博文对PHP四种运行模式进行了详细阐述。
php.exe
PHP命令行执行程序php.exe的功能非常强大,在windows环境下配置系统变量path的值可以直接在dos窗口界面直接运行php脚本文件,这篇文章有具体配置方法。
这里的php.exe是php安装目录下三个和php相关的exe文件中的一个,php-cgi.exe、php-win.exe
php-cgi.exe提供来作为CGI使用的,通常用来在windows环境下通过cgi方式解析php脚本,常用于在iis下运行php网站,区别是在文件输出所有内容之前,会自动输出一个下面的HTTP头
X-Powered-By: PHP/5.2.5
Content-type: text/html
php-win.exe也可以执行PHP文件,区别是大打开控制台,不显示输出内容。可以用来编写无需显示界面的文件处理、网路服务等程序。
PHP执行代码
<?php
$fp = @fopen("E:/PHP/wamp/www/test.txt", "a+");
fwrite($fp, "自动播报时间:\n" . date("Y-m-d H:i:s"));
fclose($fp);
这里的文件路径一定要是绝对路径,因为没有经过apache或iis这种服务器,除了一些基于服务器的变量不能使用的,如$_SERVER等,还有很有可能发生各种无法预计的错误。
(注:这里php页面中出现的相对路径发现不能用,脚本做好不牵涉到其他的路径)
创建任务计划
这个百度一下就能出很多,我测试的用的是windows7.
开始–》附件–》系统工具–》任务计划程序
双击创建任务 
创建名称和设置执行权限 
设置好开始时间和重复任务间隔时间 
选择写好的脚本路径 
到这儿就已经创建好任务计划程序了
下面是执行的效果 
windows下的定时任务设置详解的更多相关文章
- (转)windows 下安装配置 Nginx 详解
windows 下安装配置 Nginx 详解 本文转自https://blog.csdn.net/kingscoming/article/details/79042874 nginx功能之一可以启动一 ...
- Windows下配置sphinx+reStructuredText详解
最近有朋友想在windows下做个人笔记,没有找到顺手的工具,问我有什么好的工具推荐.正好前两天在网上看到一款做文档的利器sphinx+reStructText,当时在ubuntu下搭了下环境试了试, ...
- 环境搭建文档——Windows下的Git搭建详解
Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理.具体安装步骤如下: 第一步:先从官网下载最新版本的Git 官网地址:https://git-scm.com/do ...
- windows下安装Mysql—图文详解
mysql安装过程及注意事项: 1.1. 下载: 我下载的是64位系统的zip包: 下载地址:https://dev.mysql.com/downloads/mysql/ 下载zip的包: 下载后解压 ...
- windows下安装Mysql(图文详解)
博客园 | 首页 | 新随笔 | 联系 | 订阅 | 管理 mysql安装过程及注意事项: 1.1. 下载: 我下载的是64位系统的zip包: 下载地址:https://dev.mysql.com ...
- windows下at命令使用详解
T命令是Windows XP中内置的命令,它也可以媲美Windows中的“计划任务”,而且在计划的安排.任务的管理.工作事务的处理方面,AT命令具有更强大更神通的功能.AT命令可在指定时间和日期.在指 ...
- Windows下安装solr步骤详解
Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口.用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引:也可以通过Http Get操 ...
- [转]JAVA环境变量JAVA_HOME、CLASSPATH、PATH设置详解
[转] JAVA环境变量JAVA_HOME.CLASSPATH.PATH设置详解 - dreamman的日志 - 网易博客http://blog.163.com/dreamman_yx/blog/st ...
- 绘制基本图形和线型(StrokeStyle)的设置详解
绘制基本图形和线型(StrokeStyle)的设置详解 目前,在博客园上,相对写得比较好的两个关于Direct2D的教程系列,分别是万一的Direct2D系列和zdd的Direct2D系列.有兴趣的网 ...
随机推荐
- 在Linux下用CANopenSocket协议模拟CAN总线通讯
一.参考文档 https://github.com/CANopenNode/CANopenSocket //下载 CANopenSocket 的源码 http://elinux.org/Can-uti ...
- android-铃声的设置与播放
在android系统中,不同铃声存放的铃声路径: /system/media/audio/ringtones 来电铃声 /system/media/audio/notifications 短信通知铃声 ...
- Redis笔记教程
一.redis简介 1.1.1.什么是redis? REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统. 读 ...
- Android 为什么要有handler机制?handler机制的原理
为什么要有handler机制? 在Android的UI开发中,我们经常会使用Handler来控制主UI程序的界面变化.有关Handler的作用,我们总结为:与其他线程协同工作,接收其他线程的消息并通过 ...
- html5 audio标签相关知识点总结
1.audio指JS原生对象,假如用jquery获取到audio标签后,需要dom[0]转为原生JS对象 if(audio.paused){ //如果音频暂停,就播放 audio.play(); }e ...
- Python编写Appium测试用例(2)
#coding=utf-8import os,sysimport unittestfrom appium import webdriverimport timefrom selenium.webdri ...
- Notepad++使用心得和特色功能介绍 -> notepad/ultraedit的最好的替代品
[详细]Notepad++使用心得和特色功能介绍 -> notepad/ultraedit的最好的替代品 最近在用Notepad++,发现的确是很不错的工具,具体特色,看了下面介绍就知道了. [ ...
- oled屏幕模块
oled屏幕模块似乎是厂家提供的 也许可以根据屏幕驱动芯片去写 根据现在了解的芯片一般有两个:SH1106和SSD1306 不过这次我们用的是SSD1306芯片驱动的屏幕 下面是从裸屏到模块的pcb: ...
- 网站图标——favicon
首先推荐一个网站图标在线制作工具favicon: 插入图标只需在head中间加入以下代码: <link rel="icon" href="img/favicon.i ...
- decode与case when
语法 decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) select * from reglike; ,),'aaa','yes','no') decode from ...