Command line 在命令行上运行yii控制器/操作
是否可以像使用CodeIgniter一样在linux命令行上运行yii控制器/操作 CI风格:Command line 在命令行上运行yii控制器/操作,command-line,yii,Command Line,Yii,是否可以像使用CodeIgniter一样在linux命令行上运行yii控制器/操作 CI风格: PHP索引。PHP控制器动作< /P> < P>我不知道从命令行中运行控制器/动作,除了发出一个GET请求外,还有Yi控制台应用程序(相对于Web应用程序),您可以考虑在这里查看一下。我不确定你想要实现什么,所以很难知道它是否对你有用 Yii控制台应用程序与web应用程序来自相同的基类,因此您可以使用与web应用程序相同的资源 在CodeIgniter文件夹的根目录下创建一个“cli.php”文件 c
PHP索引。PHP控制器动作< /P> < P>我不知道从命令行中运行控制器/动作,除了发出一个GET请求外,还有Yi控制台应用程序(相对于Web应用程序),您可以考虑在这里查看一下。我不确定你想要实现什么,所以很难知道它是否对你有用
Yii控制台应用程序与web应用程序来自相同的基类,因此您可以使用与web应用程序相同的资源 在CodeIgniter文件夹的根目录下创建一个“cli.php”文件
class NotifyUnsharedItemsCommand extends CConsoleCommand
{
public function run($args)
{
$action = Yii::createComponent('application.controllers.actions.NotifyUnsharedItemsAction',$this,'notify');
$action->run();
}
}
if (isset($_SERVER['REMOTE_ADDR'])) {
die('Command Line Only!');
}
set_time_limit(0);
$_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI'] = $argv[1];
require dirname(__FILE__) . '/index.php';
如果您在Linux环境中,并且希望使此脚本可自执行,则可以将其添加为cli.php中的第一行:
!/usr/bin/php
如果希望特定控制器仅作为命令行,可以在控制器构造函数中阻止web调用:
class Hello extends Controller {
function __construct() {
if (isset($_SERVER['REMOTE_ADDR'])) {
die('Command Line Only!');
}
parent::Controller();
}
// ...
}