2012-05-24 3 views
-1

현재 윈도우 상자에서 실행중인 작은 codeigniter 테스트 응용 프로그램을 작성했습니다. 나는 리눅스 VM을 생성하고이 새로운 가상 서버에 응용 프로그램을 설치하려고했습니다. 내 웹 앱 중 일부가 제대로 실행되지만 다른 부분은 제대로 실행되지 않습니다.알파인 리눅스에 Apache가있는 PHP Codeigniter

http://123.123.123.123/myapp/controller1/ 

을하지만이되지 않습니다 : 특히,이 작품

http://123.123.123.123/myapp/controller2/mymethod/1/2/3 

그것이 controller2_model를로드 할 수 없다는 오류와 함께 실패합니다.

여기 (이 정말 컨트롤러 2 대 xferLogger라고) 실패 컨트롤러에 대한 실제 코드입니다 :

class xferLogger extends CI_Controller { 
     public function __construct() { 
       parent::__construct(); 
       echo(2); 
       $this->load->model('xferLogger_model'); 
       $this->load->helper('date'); //this library is needed for the base_url() method that is being called in the view "result.php" 
       $this->load->helper('url'); 
     } 

을 여기에 모델의 :

class xferLogger_model extends CI_Model { 
    public function __construct() { 
       $this->load->database(); 
       } 

전체 오류 메시지는 다음과 같습니다 오류가 발생했습니다. 지정한 모델을 찾을 수 없습니다 : xferlogger_model.

여기에 제가 눈치 챈 것이 있습니다. 오류 메시지에서 로거의 "L"이 소문자임을 알 수 있습니다. 하지만 내 코드에서는 대문자 L입니다. 내 컨트롤러, 모델 자체 및 routes.php 파일을 체크인했습니다. 제 케이스에 문제가없는 것 같습니다.

??

+2

도움이 될 것입니다. –

+0

또한 숨겨진 파일 (예 : .htaccess)을 포함한 모든 내용을 복사 했습니까? – ehudokai

+3

Linux에서 대소 문자를 구분합니다. 아마도 앱이 엉망입니다. –

답변

0

사용자 가이드의 : 클래스 이름은 첫 번째 문자가 나머지 이름이 소문자로 대문자 여야합니다. 그래서 그러므로 :

class Xferlogger_model extends CI_Model // First letter capitalised 

및 모델로드

$this->load->model('xferlogger_model'); // lower case 

및 전체 오류를 표시하여 PHP 파일 이름

xferlogger_model.php // lower case 

Codeigniter Model Userguide

+0

내 문제가 해결되지 않았습니다. 컨트롤러, 모델 및 라우트를 거쳐 xferLogger를 Xferlogger로 대체했습니다. – dot

+0

내 대답이 향상되었습니다. 이 코드가 제공하는 업데이트 된 코드와 오류가있는 원래 Quesiton을 다시 편집 할 수 있습니까? – Laurence

+0

확인. 따라서 모델 이름을 모두 소문자로 변경하라는 최근의 제안은 효과가있었습니다. 이제 작동합니다. 따라서 테이크 어웨이 교훈은 모든 모델 이름을 소문자로 유지하는 것입니다. – dot