就是php中自带的一个exe,不是咱们写的,这个exe是能够执行其余的PHP的php
由于在项目中有个需求是大批量的数据自动计算后插入更新到数据库中,为避免占用正常资源,须要在固定时间段进行自动计算,由于项目服务器是windows server2012,就考虑用windows平台强大的任务计划程序来实现。html
此外在网上找了这相似问题的解决办法后,还可用PHP的ignore_user_abort()函数,这个函数还没使用过,PHP官网是这样介绍的mysql
int ignore_user_abort ([ string $value ] )
设置客户端断开链接时是否中断脚本的执行 ,PHP以命令行脚本执行时,当脚本终端结束,脚本不会被当即停止,除非设置 value 为 TRUE,不然脚本输出任意字符时会被停止。web
我的理解就是不经过浏览器来执行,而是经过命令行方式执行的状况下,此函数的代码块继续执行。在这篇博文中有具体地经过此函数的实现过程。sql
下面是一个测试用的例子。数据库
新建文本文档,编写以下代码,保存为.bat文件。apache
E: "E:\PHP\wamp\bin\php\php5.5.12\php.exe" -f "E:\PHP\wamp\www\write.php
平时执行php代码,是经过浏览器向服务器请求的方式执行的,这种运行模式叫模块模式。 模块模式是以mod_php5模块的形式集成,此时mod_php5模块的做用是接收Apache传递过来的PHP文件请求,并处理这些请求,而后将处理后的结果返回给Apache。若是咱们在Apache启动前在其配置文件中配置好了PHP模块(mod_php5), PHP模块经过注册apache2的ap_hook_post_config挂钩,在Apache启动的时候启动此模块以接受PHP文件的请求。windows
而咱们用php.exe执行时, 即是 CLI模式,这篇博文对PHP四种运行模式进行了详细阐述。浏览器
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 $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.
开始–》附件–》系统工具–》任务计划程序
双击建立任务
建立名称和设置执行权限
设置好开始时间和重复任务间隔时间
选择写好的脚本路径
到这儿就已经建立好任务计划程序了
下面是执行的效果