如何在thinkphp中使用windows计划任务定时执行php文件

 更新时间:2021年04月21日 11:51:06   作者:老骥伏枥  
这篇文章主要介绍了如何在thinkphp中使用windows计划任务定时执行php文件,对定时执行感兴趣的同学,可以参考下

实现思路如下:

通过win的“任务”功能来定时执行一个bat文件,bat文件会调用php.exe文件,php.exe可以传递参数指定执行哪个类和方法

方法如下:

一,thinkphp开启cli支持

1、tp正好支持cli命令模式,手册的路径为13.7.4 如果是用的其他框架不支持cli,那么只能直接写程序了,其实就是写面向过程的最基础的php代码。

2、在入口文件下开启命令,加入一句

define('MODE_NAME', 'cli'); 

网站一般还有可以通过网页访问的模块,所以可以新建立一个cli的入口如index_cli.php,这样其他的模块还可以通过正常的入口进入。有的手册上写的开始cli定义的是

define('THINK_MODE ', 'cli'); 

可能是版本不同,注意这点。

二、新建立bat文件

新建立一个txt文件,里面写上如下三行内容:

d:
cd D:\workspace\dzx2
php.exe D:\workspace\dzx2\index_cli.php Sms/sendjob>c:\smslog.txt

意思以此是:当前目录移动到d盘,当前目录移动到D:\workspace\dzx2文件夹下(我的项目入口文件),通过绝对路径的php.exe 空格输入绝对的项目cli入口文件,后面空格+参数(我已经把php.exe添加到了系统的环境变量的path变量中,所以只写了php.exe) 简单就是:当前目录移动到项目入口文件,绝对路径的php.exe+绝对路径的项目入口文件+参数
把txt文件改为bat后缀的可执行文件,单击测试是否把执行了方法 (可以在bat文件最后写个Pause,来看看是否报错,或直接写入“>c:\smslog.txt ”,把输出的内容导入到一个txt文件,运行后查看该文件就知道报错与否或报哪些错误)

三、新建任务

windows下是:控制面板——》管理程序——》任务计划程序 ,右击 任务计划程序库 -》新建任务 运行的账户一定要有权限 触发器-》,新建   选择频率次数等功能 操作-》新建   选 启动程序 ,在下面找到自己写的bat文件,其他的可以自己看看
建立任务后,点程序运行一下,看看运行的时间和结果,还有自己程序所做的事做了没有,
有错的话注意的是包含 所选用户权限、各个路径是否正确、程序是否正确 。所以一般做是,首先保证通过url地址访问程序运行ok,然后是单击bat文件程序运行ok,再然后是任务计划运行ok  。

以上就是如何在thinkphp中使用windows计划任务定时执行php文件的详细内容,更多关于thinkphp定时执行php文件的资料请关注脚本之家其它相关文章!

相关文章

  • PHP的命令行命令使用指南

    PHP的命令行命令使用指南

    这篇文章主要介绍了PHP的命令行命令使用指南,是PHP入门学习中的基础知识,需要的朋友可以参考下
    2015-08-08
  • 详解WordPress中给链接添加查询字符串的方法

    详解WordPress中给链接添加查询字符串的方法

    这篇文章主要介绍了详解WordPress中给链接添加查询字符串的方法,依靠add_query_arg()函数来实现,需要的朋友可以参考下
    2015-12-12
  • PHP中时间加减函数strtotime用法分析

    PHP中时间加减函数strtotime用法分析

    这篇文章主要介绍了PHP中时间加减函数strtotime用法,结合实例形式分析了strtotime结合date函数进行日期加减运算的操作技巧,需要的朋友可以参考下
    2017-04-04
  • PHP设计模式之装饰器模式实例详解

    PHP设计模式之装饰器模式实例详解

    这篇文章主要介绍了PHP设计模式之装饰器模式,简单介绍了装饰器模式的概念、功能并结合实例形式详细分析了php实现与使用装饰器模式的相关操作技巧,需要的朋友可以参考下
    2018-02-02
  • mcrypt启用 加密以及解密过程详细解析

    mcrypt启用 加密以及解密过程详细解析

    Mcrypt库支持20多种加密算法和8种加密模式,具体可以通过函数mcrypt_list_algorithms()和mcrypt_list_modes()来显示
    2013-08-08
  • PHP操作Redis数据库常用方法示例

    PHP操作Redis数据库常用方法示例

    这篇文章主要介绍了PHP操作Redis数据库常用方法,结合实例形式总结分析了php针对redis数据库连接、字符串、列表、hash字典、set集合等数据类型相关操作技巧,需要的朋友可以参考下
    2018-08-08
  • Thinkphp中import的几个用法详细介绍

    Thinkphp中import的几个用法详细介绍

    这篇文章主要介绍了Thinkphp中import的几个用法,需要的朋友可以参考下
    2014-07-07
  • php 文件夹删除、php清除缓存程序

    php 文件夹删除、php清除缓存程序

    写了个删除文件夹的程序的代码,大家可以参考下。
    2009-08-08
  • 使用GD库生成带阴影文字的图片

    使用GD库生成带阴影文字的图片

    这篇文章主要介绍了使用GD库生成带阴影文字的图片的方法,非常的细致,推荐给大家,需要的朋友可以参考下
    2015-03-03
  • 详解PHP框架EasySwoole

    详解PHP框架EasySwoole

    EasySwoole是一款常驻内存型的分布式swoole框架,专为API而生,支持同时混合监听HTTP、WebSocket、自定义TCP、UDP协议,且拥有丰富的组件,例如协程 连接池、TP风格的协程ORM、协程微信SDK等诸多组件。让开发者编写出多进程,可异步,高可用的应用服务。
    2021-05-05

最新评论