因爲我已經將yii應用程序移動到其他共享主機,並且應用程序runnig ... index.php?r =網站/登錄與登錄憑據我得到了warnig:如何解決「session_regenerate_id():無法重新生成會話ID - 頭已發送」
session_regenerate_id(): Cannot regenerate session id - headers already sent
的actionLogin
「的代碼:
public function actionLogin($name = null)
{
$model=new LoginForm;
if ($name) $model->username = $name;
if(isset($_POST['ajax']) && $_POST['ajax']==='login-form')
{
echo CActiveForm::validate($model);
Yii::app()->end();
}
if(isset($_POST['LoginForm']))
{
$model->attributes=$_POST['LoginForm'];
// validate user input and redirect to the previous page if valid
if (headers_sent($filename, $linenum))
{
echo "Headers have been sent in {$filename} line number is {$linenum}\n"
exit;
}
if($model->validate() && $model->login())
$this->redirect(Yii::app()->user->returnUrl);
}
// display the login form
$this->render('login',array('model'=>$model));
}
的文檔和論壇也說過與BOM問題。然而,在我的記事本++中,所有文件都保存爲UTF-8,沒有BOM。 我應該對文件進行特殊檢查嗎?哪個? 或者可能有其他原因的錯誤?
我已經添加了headers_sent($filename, $linenum)
函數(參見上面的代碼)跟蹤發送的頭文件但沒有結果。
你不得不進一步考慮到運行時,如果你已經讀/寫訪問和任何緩存文件問題 – sakhunzai