首页  >  文章  >  后端开发  >  php实现Windows任务计划定时执行的代码以及扩展(图)

php实现Windows任务计划定时执行的代码以及扩展(图)

黄舟
黄舟原创
2017-11-14 10:07:242398浏览

任务计划在我们的日常工作开发中,有很大用处、有时项目需要大批量的数据更新插入数据库中,那么我们为了能够节约资源,需要定时时间段进行自动计算,为此,我们就需要php计划任务来实现,那么我们今天就给大家介绍php实现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.5Content-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等,还有很有可能发生各种无法预计的错误。

创建任务计划

这个百度一下就能出很多,我测试的用的是windows7.
开始–》附件–》系统工具–》任务计划程序
双击创建任务
这里写图片描述
创建名称和设置执行权限
这里写图片描述
设置好开始时间和重复任务间隔时间
这里写图片描述
选择写好的脚本路径
这里写图片描述
到这儿就已经创建好任务计划程序了
下面是执行的效果
这里写图片描述

总结:

windows任务计划的执行,相信很多小伙伴都知道如何使用php去实现了,希望对你工作有所帮助!

相关推荐:

php计划任务的示例代码分享


php如何实现定时执行计划任务?


php实现计划任务的原理分析

以上是php实现Windows任务计划定时执行的代码以及扩展(图)的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn