| 
                         저두 정리가 안되서 질문을 하다보니 다소 문장이 이상 할 수 있으니, 유념하시어 봐주시기 바랍니다 ^^ 
 
ci를 이용하여 사이트를 구축중인데 한가지 이상한 현상이 있어서 질문드립니다. 
(전에 한번 올리기 했는데 만족 할 만한 답을 얻지 못해서 --) 
 
동일한 소스를 두개의 리눅스 서버에 업로드 하여 테스트 하였을때 하나의 서버에서는 정상 동작하나, 
다른 서버에서는 Call to a member function get_file_info() on a non-object 라고 나옵니다. 
  
아래는 해당 문제가 있는 소스의 일부분입니다. 
MY_Controller는 사위 CI_Controller를 상속받아 추가 적인 메소드를 정의 한것입니다. 
 
class Api extends  MY_Controller { 
   
 function __construct() 
 { 
  parent::__construct(); 
 } 
 function test9() 
 { 
  $this->load->model("common_model"); 
  $aa = $this->common_model->get_file_info("file_info", "2a7cc71d76af6a6ea56cda142a72b71012b6116c"); 
 } 
 
현재까지 봐서는 load->model 까지는 정상적인 동작을 하고 있는 것으로 보이나,  
$CI->$name = new $model();  --- >  여기까지 전달된 변수 값들은 정상적으로 출력됩니다. 경로 정보 이상없고 에러 없고 -- 
 
이때 생성된 객체 정보를 test9 함수에서 참조를 못하는 것으로 보입니다. 
상위 메소드의 동작은 이상없는데 하위 함수에서 상위에서 생성한 객체를 참조 못하는 현상 인거 같은데  
제 짧은 식격으로는 왜 이런 현상이 일어나는지 알 수가 없네요. 
 
이게 프로그램 상의 문제라면 다른 서버에서도 동작을 하지 않아야하는데 동작을 하니 참 
그럼 문제는 서버 환경 설정이 php 메모리 참조등에 영향을 주는 것 같은데  
그런부분이 있을까요??? 
 
참고로 Ci는 2.0.2를 사용하고 있으며, 
아래는 MY_Controller의 내용입니다.  
 
<?php (defined('BASEPATH')) OR exit('No direct script access allowed'); 
class MY_Controller extends CI_Controller { 
 public $viewData; 
  
    function __construct() 
    { 
        parent::__construct(); 
    } 
 /*------------------------------------[function]------------------------------------- 
 함수명   - _pageInit() 
 작성자   - 원종필(2010/12/08), 
 목적     - 뷰처리시 페이지의 레이아웃을 설정해주기 위한 함수 
 ------------------------------------------------------------------------------------- 
   ------------------------------------------------------------------------------------*/  
 function _pageInit(){ 
  //func_num_args()  
  //func_get_arg()  
  //func_get_args()  
  $argsNum = func_num_args();  
  $args = func_get_args(); 
  switch($argsNum){ 
   case 1: $this->_pageInit1($args[0]); break; 
   case 2: $this->_pageInit2($args[0], $args[1]); break; 
   case 3: $this->_pageInit2($args[0], $args[1], $args[2]); break; 
   default: 
  } 
 } 
  
 function _pageInit1($pageInfo){ 
  if(is_array($pageInfo)){ 
   foreach($pageInfo as $key=>$value){ 
    if($value){ 
     $this->viewData[$key] = $value; 
    } 
   } 
  }elseif(is_string($pageInfo)){ 
   unset($this->viewData[$pageInfo]); 
  } 
 } 
  
 function _pageInit2($pageName='', $pageValue=''){ 
  if($pageName && $pageValue){ 
    $this->viewData[$pageName] = $pageValue; 
  } 
 }  
    
} 
?> 
                        
                     | 
                
말하신대로라면 어느 한쪽에서는 동작한다는 뜻인데 ..
동작하는 PHP버젼이 정확이 어떻게 되는지 알아야 할 것 같네요 ^^