CI 묻고 답하기

제목 CLI 질문입니다.
글쓴이 projin 작성시각 2012/12/18 08:58:53
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 15251   RSS
클론을 통해 주기적으로 php를 호출하기위해 
CLI 로 적용중 오류가 생겨 문의드립니다.

브라우저 상에서는 동작에 이상이 없는데 

코멘드 라인에서만 프로그램을 실행하면 
$a=$this->parser->parse('aa.php',$data,true);

이부분에서 
An Error Was Encountered
Unable to load the requested file : aa.php

이런식에 오류가 납니다.

명령은 php index.php project mail
이렇게 했습니다.

콘트롤러의 project폴더안에 mail.php를 실행한것입니다.

뭐가 문제인지 모르겠습니다.

 다음글 form 헬퍼 사용시 hidden에 아이디 추가 못하나... (3)
 이전글 index.php 죽이기 하다보니..문제가! (2)

댓글

변종원(웅파) / 2012/12/18 09:39:05 / 추천 0
에러에 답이 있는데요? 파일 경로 확인해보세요
projin / 2012/12/18 11:20:41 / 추천 0
빠른 답변 감사합니다.

그런데  물론 에러를 직역하면 분명 경로에 문제인것은 맞습니다.
그러나 이프로그램을 브라우저 상에서 실행을 하면 전혀 문제가 없습니다.
parse 또는 View를 하는 과정에서
commend line 에서만 경로를 찾을수가 없다면
혹 commend line에서는 view쪽의 경로를 루트부터 적어줘야 할까요
예를 들어 위의 부분 이라면
$a=$this->parser->parse('/home/homepage/www/view/aa.php',$data,true);
이런식으로 적어야 할까요?

물론 이런식으로 적어봤는데도 안됩니다.

묻고싶은것은 혹 parse나 view를 해서 view문서를 불러오고자 할때 commend line 에서는 
좀 다른방법으로 불러와야하는지에 대해 알고 싶습니다.

죄송합니다.
사설이 길었습니다.

감사합니다.

변종원(웅파) / 2012/12/18 11:45:05 / 추천 0
매뉴얼을 잘 보셔야 합니다. ^^

http://codeigniter-kr.org/user_guide_2.1.0/libraries/parser.html

웹에서 $a=$this->parser->parse('aa.php',$data,true); 이 부분이 이상없이 실행되는게 함정이네요.

매뉴얼상(또는 뷰 호출 방식상) $a=$this->parser->parse('aa',$data,true); 이게 맞습니다.

projin / 2012/12/18 13:54:42 / 추천 0
원하는 답변은 아니었지만 
웅파님 말씀대로 메뉴얼을 참조하고 질문내용들을 보고 
답을 찾아냈습니다.

문제는  constants.php에 있었습니다.
지금 마냐님의 공개보드를 이용을 해서 홈페이지를 만들고 있습니다.
그런데 여기에  SKIN_PATH 상수가 $_SERVER['DOCUMENT_ROOT'] 로 되어 있네요
 아래의 질문 내용에 웅파님께서 답변하신 내용을 보면 

   $_SERVER는 서버변수입니다. 클라이언트가 서버에 접속했을때 얻을 수 있는 정보죠.

   콘솔에서 돌리면 당연히 값이 없습니다. ^^

이 내용을 확인 할수 있었습니다.

마냐님의 공개보드에서는 VIEW폴더가 루트에 skin폴더로 되어 있고
상수로 그 위치를 정의 하고 있는데 여기에 
$_SERVER 함수가 경로를 지정하고 있네요..ㅠㅠ
결국 commend line에서는 이값이 null이 되니 찾을수 없었던 것이었습니다.

아뭇튼 웅파님의 빠른 답변으로 문제를 쉽게 해결할 수 있었습니다.
감사합니다.

변종원(웅파) / 2012/12/18 15:26:48 / 추천 0
아. 그냥 ci가 아니었군요. ^^