【问题标题】:Trouble using Yii::app()->user使用 Yii::app()->user 遇到问题
【发布时间】:2014-04-30 11:20:13
【问题描述】:

我在使用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";  
} 

现在,如果我调用与actionFoo 相关的URL,然后在第一个选项卡完成之前尝试从另一个选项卡调用不同的URL 之后,会发生以下情况:

  1. 如果我输入了属于同一项目的无效URL,我将在actionFoo 结束之前收到回复,这意味着我不会收到404 Bad Request
  2. 如果我输入了一个有效的URL,它与也使用Yii::app()->user 的方法相关 - 与#1 中的相同。
  3. 如果我输入一个有效的URL,它与不使用Yii::app()->user 的方法相关 - 一切似乎都正常。

希望一切都清楚,如果没有,请随时询问。

【问题讨论】:

标签: php linux yii


【解决方案1】:

在你的动作函数结束时尝试调用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
}

【讨论】:

  • 感谢您的回复。如果我不清楚,如果我从不同的选项卡调用它们,我希望这两种方法同时运行。我不想让一个等待另一个。
猜你喜欢
  • 1970-01-01
  • 2014-10-31
  • 2012-06-17
  • 2015-02-08
  • 1970-01-01
  • 2014-09-24
  • 2014-03-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多