2016-06-01 4 views
0

나는 webpockets 용 cakephp 2 및 래칫 프레임 워크를 가지고 있습니다. 이 모든 것은 aws ec2에서 작동합니다. 나는 약간의 PHP 클래스를 생성하고 다음과 같이 CakePHP의 모델을 사용하려고 :cakephp 모델을로드 할 수 없습니다

<?php 

namespace some\name\space; 

use App; 
use CakeModel; 

App::uses('CakeModel', 'Model'); 

use Ratchet\ConnectionInterface; 

require_once 'path/to/autoload.php'; 
require_once 'path/to/Cake/Core/App.php'; 

class SomeClassThatUseRatchetThings { 

    public function foo(ConnectionInterface $from) { 
     $cakeModel = new CakeModel(); 
     ... 

나는 서버 (wsserver)를 시작하고 난 foo 함수를 호출 할 때까지 모두 잘 작동합니다. 내가 전화를하면, 다음과 같은 오류 메시지가 나타납니다.

Class 'CakeModel' not found in /path/to/SomeClassThatUseRatchetThings.php on line 20

왜 이런 일이 발생합니까? 나는 무엇을 놓쳤는가? 감사.

답변

0

매우 이상한 행동입니다. 이 같은 require_once bootstrap.php 추가 :

require_once ROOT. DS . APP_DIR . DS . 'vendor' . DS . 'autoload.php'; 
require_once ROOT . DS . 'lib' . DS . 'Cake' . DS . 'Core' . DS . 'App.php'; 
require_once ROOT . DS . 'lib' . DS . 'Cake' . DS . 'bootstrap.php'; 

을하고이 오류가 사라,하지만 거기에 또 다른 하나 :

cannot redeclare class App.php

내가 다른 파일에 두 번째 require_once를 이동하려고 내 코드는 내가 원하는 걸 제공 . 오류 없음 + 케이크 모델 사용 가능.

관련 문제