一、在index.php同等级目录下新建一个cli.php,添加:
<?php
// 检测PHP环境
if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !');
// 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false
//define('APP_DEBUG',false);
//定义命令行模式执行
define('APP_MODE','cli');
//定义模块名
define('BIND_MODULE','Cli');
// 定义应用目录(linux下需要写绝对目录)
define( 'APP_PATH', dirname(__FILE__).'/Application/' );
// 引入ThinkPHP入口文件
require dirname( __FILE__).'/ThinkPHP/ThinkPHP.php';
二、在路径/ThinkPHP/Mode下面有个文件,名字叫做common.php ,复制一份出来,命名为cli.php,然后把里面引入日志类的代码注释或者删除掉:即干掉
'Think\Log' => CORE_PATH . 'Log'.EXT,
三、其他
Cli目录保持和默认的Home模块一样的结构就行,Cli里可以只放命令行执行的文件,走新建的cli.php入口。其他web模块可以走index.php。
另外注意以上操作完清除Runtime缓存文件。
测试:
Cli/Controller下新建IndexController.class.php,添加代码:
<?php
namespace Cli\Controller;
use Think\Controller;
class IndexController extends Controller {
public function index() {
echo 'cli testing~';
}
}
调用:
php cli.php Index/index
经过本人测试:发现如果不定义APP_MODE也是可以的。如果不定义,可以不用执行步骤二。
已有1条评论