CI 묻고 답하기

제목 [3.0][해결] remap 을 통해 method를 먼저 거쳐서 view로 출력할때, 502 Proxy Error 발생
글쓴이 옴므파탈 작성시각 2015/05/26 15:01:18
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 14112   RSS
 public function _remap($method) {
        $view = '/mypage/' . $method;
        $data['view'] = $view;
        
       // ... (중략)
        
        $this->load->view('header', $data);
        $this->load->view('/mypage/header');
        
        /*
        |------------------------------------------------------
        | View 와 같은 이름의 Method 가 존재하면
        | Method 를 우선 호출 하도록 함
        |------------------------------------------------------
        */
        if (method_exists($this, $method)) {
            $this->$method($view, $data);
        } else {
            $this->load->view($view, $data);
        }
        $this->load->view('footer');
    }

위와같이 view 같은 이름의 method(function)이 있을 경우, method를 먼저 실행하도록 구현이 remapping 되어있고,
/* (VIEW)
    |------------------------------------------------------
    | DESCRIPTION :
    | 내 아이템 정보를 수정하거나,
    | 아이템을 삭제한다
    |------------------------------------------------------
    */
    public function edit_item($url) {
		$item_no      = $this->uri->segment(3);
		$item         = $this->host_model->get_item($item_no);
		$data['item'] = $item;
        
        // 진행시작 일자
		$start               = explode(' ', $item['start_date']);
		$start_date          = explode('-', $start[0]);
		
		$data['start_year']  = $start_date[0];
		$data['start_month'] = $start_date[1];
		$data['start_day']   = $start_date[2];
		$data['start_time']  = $start[1];
        
        // 진행종료 일자
		$end               = explode(' ', $item['end_date']);
		$end_date          = explode('-', $end[0]);
		
		$data['end_year']  = $end_date[0];
		$data['end_month'] = $end_date[1];
		$data['end_day']   = $end_date[2];
		$data['end_time']  = $end[1];
        
        // 신청마감 일자
		$deadline               = explode(' ', $item['deadline_date']);
		$deadline_date          = explode('-', $deadline[0]);
		
		$data['deadline_year']  = $deadline_date[0];
		$data['deadline_month'] = $deadline_date[1];
		$data['deadline_day']   = $deadline_date[2];
		$data['deadline_time']  = $deadline[1];
        
        $this->load->view($url, $data);
    }

위처럼 controller method 가 구성되었습니다. 

view 페이지는 현재 테스트를 위해 모든 코드가 주석처리 되어있구요.
데이터상의 문제는 아닌것 같고,
다른 view 와 연결되는 method 처럼 url을 그대로 출력하도록 되어있는데,
구문오류가 났을때처럼 502 proxy 에러가 발생하네요.

이와 같은 현상을 경험해보신 분 있으실까요?
지금 저도 모르는 에러코드가 있나 다시한번 살펴보고 있기는 하지만...
역시나 syntax 에러에 따른 것처럼 보이지만....
왠지 syntax 에러는 문의 게시판에 올려두고 찾아봐야 잘 찾아지더라는^^;;;; 
 다음글 atal error: Call to undefined ... (14)
 이전글 3.0 실서버 모델 로드 문제 (6)

댓글

ci세상 / 2015/05/26 23:18:43 / 추천 0
웹서버가 무얼쓰세요? nginx이시면 프록시 버퍼사이즈를 늘리셔야 할 것 같습니다.
옴므파탈 / 2015/05/27 10:34:29 / 추천 0
apache 를 사용하고 있습니다. 
옴므파탈 / 2015/05/27 10:35:55 / 추천 0
$data['xxx'] 형식으로 view에 data 인자를 전달하는 것이 너무 많아서 그런것일까 하는 생각에, $data 구문을 모두 주석처리하고 시도해보았으나, 동일한 증상이 나타나고 있습니다. 
옴므파탈 / 2015/05/27 11:47:08 / 추천 0
자문자답입니다.. (또다시.. ㅠㅠ)
buffer 사이즈의 문제는 아니었고,
VIEW 에서 php 코드 출력시 비상적인 코드가 있었습니다.