这篇文章主要介绍了如何在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
三、新建任务
windows下是:控制面板——》管理程序——》任务计划程序 ,右击 任务计划程序库 -》新建任务 运行的账户一定要有权限 触发器-》,新建
建立任务后,点程序运行一下,看看运行的时间和结果,还有自己程序所做的事做了没有,
有错的话注意的是包含 所选用户权限、各个路径是否正确、程序是否正确 。所以一般做是,首先保证通过url地址访问程序运行ok,然后是单击bat文件程序运行ok,再然后是任务计划运行ok 。
以上就是如何在thinkphp中使用windows计划任务定时执行php文件的详细内容,更多关于thinkphp定时执行php文件的资料请关注编程学习网其它相关文章!
本文标题为:如何在thinkphp中使用windows计划任务定时执行php文件
基础教程推荐
- 在Laravel中实现使用AJAX动态刷新部分页面 2023-03-02
- PHP命名空间简单用法示例 2022-12-01
- thinkphp3.2.3框架动态切换多数据库的方法分析 2023-03-19
- PHP实现Redis单据锁以及防止并发重复写入 2022-10-12
- laravel 解决多库下的DB::transaction()事务失效问题 2023-03-08
- PHP中的错误及其处理机制 2023-06-04
- laravel ORM关联关系中的 with和whereHas用法 2023-03-02
- 使用PHP开发留言板功能 2023-03-13
- php array分组,PHP中array数组的分组排序 2022-08-01
- PHP获取MySQL执行sql语句的查询时间方法 2022-11-09