| 제목 | 크론, CLI 질문좀 드릴께요ㅠㅠ | ||
|---|---|---|---|
| 글쓴이 | 터프키드 | 작성시각 | 2011/11/28 18:34:34 | 
| 
                         | 
                |||
| 
                        CI 버전 : 2.0.3 운영체제 : 윈도우즈 서버 2005 매시간 관리자에게 현재 상태를 메일로 보내주려고 합니다 메일은 지메일을 사용하므로, 메일서버는 없어도 됩니다; (브라우저에서 실행할 경우에는 잘 보내집니다) 커멘드 라인에서 직접실행 해보려고 여기저기 둘러봤습니다 이상하게 
public function __construct()
    {
     parent::__construct();
 }
parent::__construct() 에서 아예 먹혀버리네요윗줄에 echo "asdf"; exit; 찍으면 잘 찍히고 아래줄에서는 안찍힙니다. 브라우저 에서는 잘 되는데 커멘드라인에서만 그러네요 그래서 주석을 걸고 메소드를 바로 실행하면 database를 사용할수가 없더군요; $this->db->query($sql)여기서 query 메소드가 에러라고 뱉네요 문제는, 메뉴얼에 있는 tools 를 그대로 따라해도 실행이 안됩니다 
<?php
class Tools extends CI_Controller {
 public function message($to = 'World')
 {
  echo "Hello {$to}!".PHP_EOL;
 }
}
?>
여기에 public function __construct() 메소드를 추가해야 정상적으로 작동하더군요. 아래처럼요
<?php
class Tools extends CI_Controller {
        public function __construct() {
        }
 public function message($to = 'World')
 {
  echo "Hello {$to}!".PHP_EOL;
 }
}
?>
메뉴얼 예제는 데이터베이스를 사용하지 않지만, 저는 사용해야 합니다. ㅠㅠ parent::__construct() 부분에서 먹히니 아무것도 못하겠고 주석을 거니, db사용을 못하고.. 어떻게 해야 할까요? 구글링, 엘리스랩 모두 답이 없네요.. 제 코드는 아래와 같습니다. 
<?php 
class SendMail extends CI_Controller {
 
 public function __construct()
        {
          parent::__construct();
 }
 public function sendEmail() {
             //DB에 접속해서 내용과 메일링리스트 가져옴
      ...
             $this->load->library('email', $config);
             ...
             $this->email->message($html);
             $this->email->send()
 }
}
/* End of file sendMail.php */
/* Location: ./application/controllers/sendMail.php */
실행은C:/APM_Setup/Server/PHP5/php.exe D:/projects/pms/root/index.php sendMail sendEmail 이렇게 했네요 생성자 함수를 빼고 데이터베이스를 사용할 수 있는 방법은 없나요? 왜 생성자가 없으면 실행이 안될까요? ( 메뉴얼의 tools도) 머리아퍼 죽겠네요ㅠㅠ 도움좀 부탁드려요  | 
                |||
| 다음글 | 업로드 질문드립니다~ ㅠㅠ (2) | ||
| 이전글 | 이니시스 결제 시스템 관련 문의 (6) | ||
| 
                             
                                milosz
                                /
                                2011/11/28 18:43:15 /
                                추천
                                0
                             
                            
                                 웹으로 된다면 crontab으로 wget을 돌려주면... 근데 윈도우네요 ;ㅅ;
                             
                         | 
                    
| 
                             
                                터프키드
                                /
                                2011/11/28 18:46:55 /
                                추천
                                0
                             
                            
                                어디서 먹는지 따라가보니 /system/core/Controller.php 에 52번째줄 
                        echo "b"; $this->load->set_base_classes()->ci_autoloader(); echo "a";여기서 b 만 찍히네요.. 저기서 무슨일이 일어나는 걸까요  | 
                    
| 
                             
                                터프키드
                                /
                                2011/11/28 18:47:46 /
                                추천
                                0
                             
                            
                                @milosz 네 아쉽게도 클라이언트가 M$ 팬이라... 
                         | 
                    
| 
                             
                                milosz
                                /
                                2011/11/28 19:03:24 /
                                추천
                                0
                             
                            
                                 autoloader에서 먹는다면 경로문제로 추측되네요.
                             
                         | 
                    
| 
                             
                                터프키드
                                /
                                2011/11/29 10:58:50 /
                                추천
                                0
                             
                            
                                또 찾았는데 왜 데이터베이스를 못불러오는지 모르겠네요 
                        /system/core/Loader.php 에서 1088줄 $this->database();에서 문제가 생기네요  | 
                    
| 
                             
                                변종원(웅파)
                                /
                                2011/11/29 14:00:22 /
                                추천
                                0
                             
                            
                                 logs디렉토리의 로그와 아파치(또는 iis) 로그 보시면 답이 있습니다.
                             
                         | 
                    
| 
                             
                                터프키드
                                /
                                2011/11/29 16:16:16 /
                                추천
                                0
                             
                            
                                @웅파 해결했습니다^^ php.ini 패스가 서로 달라서 나온 문제네요 팁게에 1원팁으로 올렸어요 (팁이라기 보다는 기록용으로 ㅎㅎ) 
                         |