首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kohana --命令行

Kohana --命令行
EN

Stack Overflow用户
提问于 2010-01-25 23:47:00
回答 6查看 11.5K关注 0票数 12

我试图在我的web应用程序中“伪造”一个进程(通过SMTP发送的电子邮件),而该应用程序是基于Kohana构建的。

代码语言:javascript
复制
    $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通过命令行运行吗?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-01-26 00:01:32

据我所知,您不能直接在命令行中运行kohana文件,因为它的引导方法。

你可以做两件事:将所有类似命令的函数导出到kohana之外,然后独立运行它们。

你可以做的另一件事是通过位于kohana主文件夹中的index.php运行它,同时将$controller,$method变量传递给它,这样它就会到达代码所在的正确对象:

对于kohana 2:

代码语言:javascript
复制
php index.php controller/method/var1/var2

Kohana 3

代码语言:javascript
复制
php index.php --uri=controller/method/var1/var2

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

票数 10
EN

Stack Overflow用户

发布于 2010-03-10 12:33:07

在查看了Kohana3源代码后,我发现它支持cli (system/classes/kohana/cli.php)。您可以传递3个选项(uri、method、get、post)。所以:-

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

将在Controller_Items中调用list方法。

票数 17
EN

Stack Overflow用户

发布于 2010-02-10 03:44:44

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

Kohana是为在CLI和web上运行而构建的。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2133433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档