2013-06-25 1 views
1

저는 yii 프레임 워크에서 작업 중이며 다른 페이지에 다른 레이아웃을 적용하고 있습니다. 내 요구 사항에 따라 페이지를 디자인 할 수 있도록 로그인 페이지에 대한 "로그인 레이아웃"을 만들었습니다. 난 그냥 레이아웃 파일 즉의 login.php 코드에 몇 줄의 코드를 추가 한 것은 여기에 있습니다 : 이제Yii 레이아웃 오류 : 허용 된 메모리 크기가 134217728 바이트가 소모되었습니다 (40961 바이트를 할당하려고 시도했습니다)

<?php 
/* @var $this Controller */ 
    $this->beginContent('//layouts/login'); 
     echo $content; 
    $this->endContent(); 
?> 

, 나는 UsersController의 로그인 활동에이 레이아웃을 사용하고 있습니다. 그러나 나는 행동의 배치를 정했다. Yii는 아래에 주어진 유형의 오류를 던집니다.

치명적 오류 :/home/teamreal/public_html/yii/framework/web/widgets에서 134217728 바이트의 메모리 크기가 소모되었습니다 (40961 바이트 할당 시도). 그래서

public function actionLogin() { 
     $this->layout = 'login'; 
     $model = new LoginForm('login'); 

     // if it is ajax validation request 
     if (isset($_POST['ajax']) && $_POST['ajax'] === 'login-form') { 
      echo CActiveForm::validate($model); 
      Yii::app()->end(); 
     } 

     // collect user input data 
     if (isset($_POST['LoginForm'])) { 
      $model->attributes = $_POST['LoginForm']; 
      // validate user input and redirect to the previous page if valid 
      if ($model->validate() && $model->login()) 
       $this->redirect(Yii::app()->user->returnUrl); 
     } 
     // display the login form 
     $this->render('login', array('model' => $model)); 
    } 

하십시오 : 난 같은입니다 액션 기능 올바르게 기능 코드가 /COutputProcessor.php 라인에 33

나는이 오류가 계속해서 표시되는 이유 아무 생각이없는 곳으로 이 문제를 해결하기 위해 나를 도와주세요.

+1

당신은 곧 코멘트를 얻거나 메모리 제한을 늘리는 방법에 답변 해 드리겠습니다 : http://www.yiiframework.com/doc/api/1.1/CBaseController#beginContent-detail

당신은 views/layouts/login의 주요 레이아웃을하지 마십시오. 그러나 128MB는 이미 꽤 많이 있습니다. 나는 당신이 무한 루프 또는 비슷한 것을 가지고 있다고 생각한다. –

+0

빠른 응답을 위해 Alvaro에게 감사드립니다. 하지만 난 루프를 추가하지 않은 당신을 업데이 트해야하지만 레이아웃을 설정 한 후 그것은 내 질문에 게시 된 오류를 throw합니다. –

+0

아, 사용자 지정 코드에서 직접 의미하지는 않았습니다. 때로는 프레임 워크를 사용할 때 프레임 워크가 기대하지 않은 작업을 수행하면 이러한 상황이 발생할 수 있습니다. 나는 단지 메모리 제한을 늘리는 것이 해결책이 아님을 의미했습니다. –

답변

1

layout/loginlayout/login으로 계속해서 꾸미고 있습니다.

<?php 
    /* @var $this Controller */ 

    $this->beginContent('//layouts/main'); 
    echo $content; 
    $this->endContent(); 
?>