多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
### Windows系统任务计划定时执行 Thinkphp 控制器方法 * * * * * ThinkPHP 5+已经支持 `cli` 的命令模式 #### 新建bat文件 新建立一个txt文件,里面写上如下三行内容: ~~~ D: cd D:\phpStudy\WWW\workspace\DragonApi php think scan ~~~ 意思是: 1. 当前目录移动到d盘; 2. 当前目录移动到 `D:\phpStudy\WWW\workspace\DragonApi` 文件夹下; 3. 通过PHP 的 CLI 命令执行计划任务。 简单就是:当前目录移动到项目入口文件,绝对路径的php.exe+绝对路径的项目入口文件+参数 前提是,已经把 `php.exe` 添加到了系统的环境变量的 `path` 变量中,这样才可以直接调用php。 把 `txt` 文件改为 `bat` 后缀的可执行文件,单击测试是否把执行了方法。 可以在bat文件最后写个Pause,来看看是否报错; ~~~ I:\项目文件>D: D:\>cd D:\phpStudy\WWW\workspace\DragonApi D:\phpStudy\WWW\workspace\DragonApi>pause 请按任意键继续. . . ~~~ 或直接写入`“ >c:\smslog.txt ”`把输出的内容导入到一个`txt`文件,运行后查看该文件就知道报错与否,或报哪些错误。 * * * * * 【限制】:计划任务一天最多仅能够运行一次,无法多次循环调用。 #### ThinkPHP实现定时任务 摘要: ThinkPHP实现定时任务 项目服务端框架我选用的是ThinkPHP,由于策划案中有需求要定时刷新指定数据,所以在windows平台我使用微软的计划任务调用bat脚本来执行下面的命令来完成 ~~~ php index.php /Home/cli ~~~ 即使用PHP的CLI模式调用ThinkPHP的入口文件,然后再传入指定控制器完成相应的数据处理。 /Home/cli 为我新增的名为CliController的控制器,在类中index方法调用相应处理数据的模块即可。 特别注意:在windows平台上执行时在bat脚本中一定要先将当前执行目录切换到index.php所在入口文件目录,然后执行`php.exe index.php /Home/cli`.