우리는 (1.3에서) 몇 가지 앱을 cakephp 2.2로 업그레이드하고 코드를 리팩터링했습니다. 있는dispatcher가 가끔씩 다른 앱의 코드를 호출합니다.
- htdocs에/subdomain.domain/cakeapp1/...
- htdocs에/subdomain.domain/cakeapp2/...
때때로 우리는 오류가 같은 우리의 기본 서버 설정 보인다 문제로 인해, 그 케이크는 내부적으로 다른 앱 폴더에서 코드를 호출하기로 결정합니다. 그래서 우리는 cakeapp1에서 루트를 호출하고 갑자기 스택 추적 중간에 cakeapp2에서 파일을 호출합니다. cakeapp1에는 코드는 예를 들어 "클라이언트"테이블을 참조 없지만
그래서, 우리는 다음과 수신 오류 :
Missing Database Table
Table clients for model Client was not found in datasource default.
Stack Trace
/home/www/subdomain.domain/cakeapp2/lib/Cake/Model/Model.php line 3180 → Model->setSource(string)
/home/www/subdomain.domain/cakeapp2/lib/Cake/Model/Model.php line 2631 → Model->getDataSource()
/home/www/subdomain.domain/cakeapp2/app/Model/AppModel.php line 22 → Model->find(string, array)
/home/www/subdomain.domain/cakeapp2/app/Controller/AppController.php line 237 → AppModel->find(string, array)
/home/www/subdomain.domain/cakeapp2/app/Controller/AppController.php line 41 → AppController->__initializeAppSettings()
[internal function] → AppController->beforeFilter(CakeEvent)
/home/www/subdomain.domain/cakeapp2/lib/Cake/Event/CakeEventManager.php line 246 → call_user_func(array, CakeEvent)
/home/www/subdomain.domain/cakeapp2/lib/Cake/Controller/Controller.php line 670 → CakeEventManager->dispatch(CakeEvent)
/home/www/subdomain.domain/cakeapp2/lib/Cake/Routing/Dispatcher.php line 183 → Controller->startupProcess()
/home/www/subdomain.domain/cakeapp2/lib/Cake/Routing/Dispatcher.php line 161 → Dispatcher->_invoke(UsersController, CakeRequest, CakeResponse)
APP/webroot/index.php line 92 → Dispatcher->dispatch(CakeRequest, CakeResponse)
또 다른 오류는, 플러그인 (debugkit)가 발견되지 않았는지 확인합니다. debugkit은 cakeapp1에 내장되어 있지만 cakeapp2에서는 사용되지 않으므로이 앱에서 오류가 발생합니다. 오류 자체는 cakeapp2/tmp/log/error.log에 저장되며 원래 코드가 실행되어야하는 cakeapp1에 저장되지 않습니다.
다른 누구도 동일한 문제가 있습니까? 큰 문제는 모든 페이지보기에서 오류가 발생하지 않는다는 것입니다. 그러나 그것은 다른 브라우저/기계에서 재현 가능합니다. 다른 URL을 호출 한 후 오류가 발생한 URL을 다시 호출하면 모든 것이 정상입니다.
cakephp2의 하위 폴더 호스팅 시나리오에서 cakephp 사용과 관련된 변경 사항이 있습니까?
캐시 관련 일 수 있습니까? 공유 캐시를 사용할 때 접두어가 서로 다른지 확인하십시오. – Ceeram
@Ceeram : 어떻게 공유 캐시를 변경할 수 있습니까? core.php는 완벽한 바닐라입니다. –
https://github.com/cakephp/cakephp/blob/master/app/Config/core.php#L253 – Ceeram