Cli 模式下的Thinkphp如何运行。

WBOY
풀어 주다: 2016-06-23 13:50:38
원래의
1077명이 탐색했습니다.

工作需要,要对在运行的代码进行整合成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);试试

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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿