当前位置:  开发笔记 > 编程语言 > 正文

Kohana - 命令行

如何解决《Kohana-命令行》经验,为你挑选了4个好方法。

我正在尝试在我的Web应用程序中"伪造"一个进程(通过SMTP发送的电子邮件),该应用程序是基于Kohana构建的.

    $command = 'test/email';
    exec('php index.php '.$command.' > /dev/null/ &', $errors, $response);

我收到一个错误 -

Notice: Undefined index: SERVER_NAME

当我查看Kohana的index.php文件时,我发现它正在寻找一个名为SERVER_NAME的变量,但我猜它会出现NULL,因为Kohana无法检测到这个值并在运行之前设置它.

有任何想法如何让Kohana通过命令行运行?



1> k4ml..:

在查看Kohana3源代码后,我发现它支持cli(system/classes/kohana/cli.php).你可以传递3个选项(uri,方法,获取,发布).所以:-

$ php index.php --uri="items/list"

将调用该list方法Controller_Items.



2> RJD22..:

据我所知,由于它的bootstrap方法,你不能直接在命令行中运行kohana文件.

你可以做两件事:输出所有命令,如kohana之外的函数,并独立运行它们.

您可以做的其他事情是通过位于kohana主文件夹中的index.php运行它,同时将$ controller,$方法变量传递给它,使其最终位于代码所在的正确对象:

对于kohana 2:

php index.php controller/method/var1/var2

Kohana 3

php index.php --uri=controller/method/var1/var2

编辑: Kohana有一个很棒的CLI任务运行器从版本3.3开始作为官方模块.对于3.2版本,它仍然是一个非官方的模块.我建议你使用这些,因为它们在从CLI运行时提供了很多额外的选项:

Kohana 3.2 - https://github.com/Zeelot/kohana-minion

Kohana 3.3 - https://github.com/kohana/minion


这不是真的,你可以*从命令行运行Kohana.这个答案可能不应该被接受.
这个答案既不真实又真实.我实际上解释说你不能直接运行kohana文件.但你可以通过index.php来运行它们,就像zombor下面所说的那样(开发人员).我同意我应该用不同的方式表达它.现在编辑^^

3> zombor..:

而Kohana2就是 php index.php controller/method/param1/param2/etc

Kohana的构建是为了在CLI和Web上运行.



4> The Pixel De..:

如果您使用Kohana 3,那么您可以从终端运行它.

php index.php --uri=controller/action

选项

--uri

- 方法

- 得到

--post

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有