使用Yii :: app() - >用户时遇到问题

时间:2014-04-30 11:20:14

标签: php linux yii

使用Yii::app()->user时遇到一个奇怪的问题,如果我从一种方法调用它,我几乎不能运行任何东西,直到脚本运行结束。例如,让我说我有以下方法:

public function actionFoo(){  
    Yii::app()->user; //just for the example, I know it doesn't mean anything
    sleep(30); //just so it won't finish right away
    echo "end of function Foo";  
} 

现在,如果我调用与URL相关的actionFoo,并且在第一个标签完成之前我尝试从另一个标签调用另一个URL,则会发生以下情况:

  1. 如果我输入属于同一项目的无效URL,我将无法在actionFoo结束前收到回复,这意味着我不会获得{{1} }。
  2. 如果我输入与同时使用404 Bad Request的方法相关的有效URL - 与#1相同。
  3. 如果我输入与不使用Yii::app()->user的方法相关的有效URL - 一切似乎都有效。
  4. 希望一切都清楚,如果没有随意问。

1 个答案:

答案 0 :(得分:0)

在您的操作功能结束时,请尝试拨打Yii::app()->end();

这样的事情:

function actionFoo(){
  Yii::app()->user;

  echo 'end of function foo';
  Yii::app()->end(); // add this as the last line in your function
}