从命令行执行TP框架中某个方法的解决

最近在改项目时发现几个方法每个月初需要执行一次,以前使用的人少为了省事没有使用定时任务,采用的人工请求,现在使用的人多了老是多点,因此改成了定时任务,在liunx下使用的crontab做定时任务。

但是发现TP中的某个function要在cli模式下运行不和浏览器一样不能使用inxex.php,因此通过查看相关文档解决了此问题,将此解决之道分享给大家节约大家时间。

1.首先需要在index.php同级目录下创建一个cli.php(名字自定义),其实就是将index.php复制一遍然后改个名字,同时改点东西,我将两个文件都写下来大家比较下就明白了。

 

index.php

<?php
if(version_compare(PHP_VERSION,'5.3.0','<'))  die('require PHP > 5.3.0 !');

// 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false
define('APP_DEBUG',true);

// 定义应用目录
define('APP_PATH','./App/');
//define('BIND_MODULE','Home');

// 引入ThinkPHP入口文件
require './ThinkPHP/ThinkPHP.php';

// 亲^_^ 后面不需要任何代码了 就是如此简单

cli.php

<?php

// 应用入口文件

// 检测PHP环境
if(version_compare(PHP_VERSION,'5.3.0','<'))  die('require PHP > 5.3.0 !');

// 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false
define('APP_DEBUG',true);

// 定义应用目录
define('APP_PATH',dirname(__FILE__).'/App/');
//define('BIND_MODULE','Home');

// 引入ThinkPHP入口文件
require dirname(__FILE__).'/ThinkPHP/ThinkPHP.php';

// 亲^_^ 后面不需要任何代码了 就是如此简单

 

2.在cli模式下测试下是否好使

//php cli.php路径 模块/控制器/方法
php /var/www/html/duizhang/cli.php Admin/Ceshi/test


 3.测试正常后既可以使用crontab来创建定时任务了。

//打开crontab执行文件
crontab -e

//将命令写入 
//我的是每月1号0点0分执行一次
0 0 1 * * php /var/www/html/duizhang/cli.php Admin/Ceshi/test


最后esc :wq 回车就好了

另外关于更多的crontab的知识点我会专门写一个博客来分享的。

希望这次的分享能帮助到有需要的人!

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT阿剂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值