因为在项目中有个需求是大批量嘚数据自动计算后插入更新到中为避免占用正常资源,需要在固定时间段进行自动计算因为项目服务器是windows server2012,就考虑用windows平台强大的任务計划程序来实现
此外在网上找了这类似问题的解决办法后,还可用的ignore_user_abort()函数这个函数还没使用过,PHP官网是这样介绍的
设置客户端断开连接时是否中断脚本的执行 ,PHP以命令行脚本执行时当脚本终端结束,脚本不会被立即中止除非设置 value 为 TRUE,否则脚本输出任意字符时会被中止
个人理解就是不通过浏览器来执行,而是通过命令行方式执行的情况下此函数的代码块继续执行。有具体地通过此函数的实现过程
新建文本文档,编写如下代码保存为.bat文件。
平时执行php代码是通过浏览器向服务器请求的方式执行的,这种运行模式叫模块模式 模块模式是以mod_php5模块的形式集成,此时mod_php5模块的作用是接收Apache传递过来的PHP文件请求并处理这些请求,然后将处理后的结果返回給Apache如果我们在Apache启动前在其配置文件中配置好了PHP模块(mod_php5),
而我们用php.exe执行时 便是 CLI模式,对PHP四种运行模式进行了详细阐述
PHP命令行执行程序php.exe的功能非常强大,在windows环境下配置系统变量path的值可以直接在dos窗口界面直接运行php脚本文件
php-cgi.exe提供来作为CGI使用的,通常用来在windows环境下通过cgi方式解析php脚本常用于在iis下运行php网站,区别是在文件输出所有内容之前会自动输出一个下面的HTTP头
php-win.exe也可以执行PHP文件,区别是大打开控制台不顯示输出内容。可以用来编写无需显示界面的文件处理、网路服务等程序
这里的文件路径一定要是绝对路径,因为没有经过apache或iis這种服务器除了一些基于服务器的变量不能使用的,如$_SERVER等还有很有可能发生各种无法预计的错误。
(注:这里php页面中出现的相对路径發现不能用脚本做好不牵涉到其他的路径)
这个百度一下就能出很多,我测试的用的是windows7.
开始–》附件–》系统工具–》任務计划程序
创建名称和设置执行权限
设置好开始时间和重复任务间隔时间
选择写好的脚本路径
到这儿就已经创建好任务计划程序了
下面是執行的效果