2013-04-30 2 views
3

CodeIgniter 사용법과 마찬가지로 Linux 명령 줄에서 yii 컨트롤러/동작을 실행할 수 있습니까?명령 줄에서 yii 컨트롤러/동작 실행

CI 스타일 : 의 PHP의 index.php 컨트롤러 액션 웹 반대로 내가 GET 요청을 따로 명령 줄에서 컨트롤러/액션을 실행 잘 모르는 것 같아요

답변

1

는, 그러나 (YII 콘솔 응용 프로그램이 있습니다 응용 프로그램) 여기에서 봐야 할 수도 있습니다 http://www.yiiframework.com/doc/guide/1.1/en/topics.console. 나는 당신이 성취하려고 노력하고있는 것이 확실하지 않으므로 그것이 당신을 위해 일할 것인지 아닌지를 아는 것이 어렵습니다.

Yii 콘솔 응용 프로그램은 웹 응용 프로그램과 동일한 기본 클래스에서 파생되므로 웹 응용 프로그램과 동일한 리소스를 사용할 수 있습니다. 당신이 리눅스 환경에 있고이 스크립트 자체 실행 파일을 확인하려면

2
class NotifyUnsharedItemsCommand extends CConsoleCommand 
{ 
    public function run($args) 
    { 
     $action = Yii::createComponent('application.controllers.actions.NotifyUnsharedItemsAction',$this,'notify'); 
     $action->run(); 
    } 
} 
0

당신으로 이것을 추가 할 수 있습니다, 당신 CodeIgniter의 폴더

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'; 

의 루트에 "cli.php"파일 만들기 cli.php의 첫 번째 행!

는/usr/빈/php에

특정 컨트롤러 명령 줄은, 당신은 웹 컨트롤러 생성자에서 호출을 차단할 수 있도록하려면 :

class Hello extends Controller { 

    function __construct() { 
     if (isset($_SERVER['REMOTE_ADDR'])) { 
      die('Command Line Only!'); 
     } 
     parent::Controller(); 
    } 

    // ... 

} 
관련 문제