一、在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也是可以的。如果不定义,可以不用执行步骤二。
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/98506.html