2012-10-05 5 views
0

Cake 2.1 앱에서 Media Plugin을 설정 중입니다. 이전에 Cake 2.0 플러그인을 사용했는데 문제가 없었습니다.CakePHP Media Plugin 오류

Fatal error: Call to a member function pwd() on a non-object in /home/fractalw/public_html/cms/app/Plugin/Media/Model/Behavior/CouplerBehavior.php on line 141 

여기 내 bootstrap.php 파일의 관련 부분 : 내가 파일을 업로드 할 때 지금은이 오류 메시지를 받고 있어요 CakePlugin :: 부하 ('미디어');

require APP . 'Plugin' . DS . 'Media' . DS . 'Config' . DS . 'core.php'; 

$thumbnail = array('fitCrop' => array(100, 100)); 
$small = array('fitCrop' => array(200, 200)); 
$large = array('fit' => array(700, 10000)); 
$smallthumbnail = array('fitCrop' => array(75, 75)); 
$tinythumbnail = array('fitCrop' => array(35, 35)); 

Configure::write('Media.filter', array('default' => array(
    'audio' => array(), 
    'document' => array(), 
    'generic' => array(), 
    'image' => compact('small', 'thumbnail', 'smallthumbnail', 'large', 'tinythumbnail'), 
    'video' => compact('medium', 'large') 
))); 

... 그리고 내 모델, File.php :

public $actsAs = array(
    'Media.Transfer', 
    'Media.Coupler', 
    'Media.Generator', 
    'Media.GeneratedDeletable', 
    'Media.Meta', 
    'Containable' 
); 

public $validate = array(
    'file' => array(
     'mimeType' => array(
      'rule' => array('checkMimeType', false, array('image/jpeg', 'image/png', 'image/gif')) 
     ) 
    ) 
); 

은 제가 파일을 업로드 양식을 제출하면 위의 오류 메시지가 나타납니다. CouplerBehavior.php에서 문제가되는 행은 다음과 같습니다.

str_replace('\\', '/', Folder::slashTerm($File->Folder->pwd())) 

답변

1

좋아, 나는 어리석은 짓을 했어.

내 모델 파일의 이름을 지정했습니다. 그것은 분명히 CakePHP의 File 클래스의 이름입니다. 파일이 업로드되면 모델에서와 같이 미디어 플러그인이 파일을 새 File 객체로 변환합니다. 대신 내 모델 첨부 파일의 이름을 변경했습니다. 왜 이런 일이 생깁니 까? 문제에 대해 생각해 본 다음 인터넷에서 질문을 올리 자마자 대답을 찾는다.

+1

적어도 모델 이름을 지정하지 않은 경우 ... –