thinkphp cli模式扩展
thinkphp cli模式扩展phper 有时需要在服务器定时跑任务的时候,如果是在thinkphp 的框架下,可以使用thinkphp cli模式扩展。一:执行简单的定时任务在服务器crontab加入定时任务,/usr/local/php/bin/php /var/www/test/test.php二:复杂的任务特别在thinkphp框架的环境下,定时的任务必须得查询数据库,可以使用thinkphp cli模式扩展来运用thinkphp的环境。1:创建cli项目(copyIT论坛项目的结构)http://www.hlmblog.com/wp-content/uploads/2014/05/QQ%E6%88%AA%E5%9B%BE20140521184610.png2:创建入口文件cli.php
1
2
3
4
5
6
7
8
<?php
header("content-type:text/html;charset=utf-8");
defined('ROOT_PATH') or define('ROOT_PATH', dirname(__FILE__));
define('MODE_NAME','cli');//必须是cli,采用CLI运行模式运行
define('THINK_PATH', ROOT_PATH.'/lib/');
define('APP_NAME', 'cli');
define('APP_PATH', ROOT_PATH.'/cli/');
require( THINK_PATH."ThinkPHP.php");
一旦MODE_NAME名称定义了cli(thinkphp模式扩展中的关键字),访问url test.cn?a=index&m=test 都会失效,因为都指向默认的DEFAULT_MODULE(默认模块名称) 和 DEFAULT_ACTION(默认操作名称),因为此时的cli就是命令运行模式3:配置文件 URL 模式‘URL_MODEL’ => 1, //PATHINFO模式4:在linux服务器创建执行任务的 shell 脚本或者crontab定时
1
* * * * * /usr/local/webserver/php/bin/php /opt/a/webroot/oa.feibo.cn/cli.php cron/post_weibo
加入上面所写代码即可定时执行任务,其中:
cron: 控制类名称(cronAction)
post_weibo: 方法(fucntion)IT论坛例子:
index.php info/read/category/2/id/4
命令行模式下面,系统会自动把参数转换为GET变量,无论采用哪种命令行参数模式,都可以直接使用GET变量获取参数
info: 控制类
read: 方法
category,id: 所带参数http://www.hlmblog.com/202.html
thinkphp cli模式扩展
页:
[1]