CI 묻고 답하기

제목 CLI 관련 문의사항 입니다.
글쓴이 은랑 작성시각 2014/11/03 17:00:56
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 17187   RSS
여러 고수님들 안녕하세요..

웅파님 불의회상님 그외 많은 CI포럼의 고수님들의 도움으로

그간 잘 버텨왔습니다.

그러던 어느날...CLI 에서 하나를 돌려야 하는 상황이 발생했습니다...ㅠㅠ

뭐 물론 많은 다른 방법들이 있겠지만...

허접한 제가 생각해낸 방법은 CLI를...사용하자 였습니다.

하여~ 짜잔 CLI를 실행하였습니다.

헉...

$_SERVER['HTTPS']  <= 요것이 정의되지 않아서 실행할 수 없다는 에러를 토하더군요..ㅠㅠ

무엇이 문제일까...를 뒤지던중...

application/config/config.php 에서

http 또는 https 로 시작하는 URL 의 처리를 위한 설정 

//---------------------------------------------------------------------------------

//$config['base_url'] = '';
$config['base_url'] = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ?"https" : "http");
$config['base_url'] .= "://" . $_SERVER['HTTP_HOST'];
$config['base_url'] .= str_replace(basename($_SERVER['SCRIPT_NAME']), "",$_SERVER['SCRIPT_NAME']);

출처 : http://codeigniter-kr.org/lecture/view/197/page/1/  ( 웅파님 감사합니다. )

//---------------------------------------------------------------------------------

에서 발생하는 문제 였습니다.

커멘드 모드에서 당연히 서버변수가 없습니다..ㅠㅠ

일단 아래와 같이 꼼수 처리는 하였습니다만...

어떻게 처리하는것이 제대로인지...ㅠㅠ

고수님들의 가르침을 청합니다...ㅠㅠ


//---------------------------------------------------------------------------------

$config['base_url']    = '';

if( isset( $_SERVER['HTTP_HOST'] ) )
{
    if( (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") )
    {
        $config['base_url'] = "https";
    }else{
        $config['base_url'] = "http";
    }//    end if
    $config['base_url'] .= "://" . $_SERVER['HTTP_HOST'];
    $config['base_url'] .= str_replace(basename($_SERVER['SCRIPT_NAME']), "", $_SERVER['SCRIPT_NAME']);    
}

//---------------------------------------------------------------------------------
 다음글 CI와 wordpress 연동하였습니다. (3)
 이전글 HMVC 관련 질문있습니다. (1)

댓글

한대승(불의회상) / 2014/11/03 17:26:36 / 추천 0
CLI 모드에서는 웹서버 관련 환경변수 값이 넘어 오지 않으니 CLI 모드 인지 확인하여 수동으로 처리해 주는 방법 외에 특별히 정해진 방법은 없습니다.

php_sapi_name() 값을 확인해 보세요.

 
들국화 / 2014/11/03 17:31:12 / 추천 0
php_sapi_name 라는 것도 있었네요.
하나 배웠습니다. ^^ 참 함수가 많탄말야...ㅋㅋㅋ
그냥 서버변수 안쓰고 그냥 적어도 되지 않나요?
은랑 / 2014/11/04 10:07:00 / 추천 0
불의회상님 감사합니다.

http://kr1.php.net/manual/en/function.php-sapi-name.php 

요걸 가지고 현 실행상태를 먼저 확인해서 처리하면 될듯 합니다.

다시한번 감사드립니다.