Cli 模式下的Thinkphp如何运行。

时间:2022-11-08 23:38:05
工作需要,要对在运行的代码进行整合成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 模式开发的吗?告诉一下怎么做啊。谢谢各位。

5 个解决方案

#1


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']来获取参数了。

#2


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

#3


看看哈,能否有帮助

#4


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

#5


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

#1


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']来获取参数了。

#2


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

#3


看看哈,能否有帮助

#4


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

#5


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