欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

Cli 模式下的Thinkphp如何运行。

程序员文章站 2022-05-27 12:16:35
...
工作需要,要对在运行的代码进行整合成Cli 模式运行。
php -f /var/www/weibok/index_cli.php Action Funciton


项目是Thinkphp的2.1,然后看手册,说define('MODE_NAME','Cli')。结果没用。一看。2.1中根本没有MODE_NAME,而是define('THINK_MODE','Cli')。但是,还是不行,不管运行什么模块,都调到首页。

在3.0的Thinkphp 下也不行。也跳到首页。

有做过Thinkphp Cli 模式开发的吗?告诉一下怎么做啊。谢谢各位。


回复讨论(解决方案)

13.7.4 命令模式
命令模式用于支持命令行模式下面的PHP应用,需要在入口文件设置:

define('MODE_NAME', 'cli')? // 采用CLI运行模式运行

在命令模式下面,支持两种命令行的参数模式,

一、PATHINFO参数模式(URL_MODEL为1)

在PATHINFO参数模式下面,我们可以这样调用模块和操作

index.php module/action/id/4

二、普通参数模式(URL_MODEL设置为其它)

在普通参数模式下面 ,我们需要这样调用模块和操作

index.php module action id 4

在命令行模式下面,系统会自动把参数转换为GET变量,无论采用哪种命令行参数模式,我们可以直接使用GET变量获取参数,例如,采用下面的方式调用

index.php Info/read/category/2/id/4

在控制器中,我们可以直接获取$_GET['category'](这里传入的是2)和$_GET['id'](这里传入的是4)参数,如果你需要自己解析传入的参数顺序和值,就需要采用原生的系统变量$_SERVER['argv']来获取参数了。

我也遇到过相同的问题,没解决,不知道楼主现在有解决吗

看看哈,能否有帮助

入口文件define('APP_DEBUG',false);试试

我也是碰到了同样的问题,不知道楼主有没有继绝?