thinkphp 3.2 cli命令行模式执行

thinkphp 3.2 cli命令行模式执行

步骤如下:

1、官方下载的框架文件里面的index.php文件引入其他文件使用的是相对路径,这导致了定时执行的时候引入ThinkPHP.php文件不存在的问题,修改成绝对路径即可。

define( 'APP_PATH', dirname(FILE).'/Application/' );
require dirname( FILE).’/ThinkPHP/ThinkPHP.php';

2、思维要倒回去第半步,刚刚说index.php文件的相对路径跟绝对路径的问题,但是执行cli模式的时候,我们的入口文件要有别于通过web服务访问的index.php文件,比如增加cli模式的入口文件cli.php,内容跟index.php的一样,同时增加一句话

define('APP_MODE','cli');

定义APP的执行模式。此时,我们有两个入口文件,一个是web服务访问方式的index.php,另一个是cli模式访问的cli.php
3、在路径 /ThinkPHP/Mode 下面有个文件,名字叫做common.php ,复制一份出来,命名为cli.php,然后把里面引入日志类的代码注释或者删除掉

'Think\Log' => CORE_PATH . 'Log'.EXT,

4、删除缓存下面的所有缓存——记得是所有

5、再啰嗦一句,以后cli模式调用的时候,就用cli.php入口文件,比如定时任务 0 * * * * php /www/cli.php home/article/get ,如果是web服务访问,则依然使用index.php文件

发表评论

邮箱地址不会被公开。 必填项已用*标注