2012-10-15 3 views
1

PHP/MySQL 백그라운드에서 왔으며 이제 ColdFusion 9 개발자로서 새로운 백엔드 위치에 왔습니다. 완전히 Coldfusion의 새로운 기능이므로 학습 및 테스트 목적으로 로컬 호스트에 CF를 설치했습니다. 내 localhost에서 완벽하게 작동하는 ORM을 설정하고 테스트했으며 다른 상위 폴더를 방해하지 않았습니다. 내가 사이트에서, 우리의 주요 서버에 대한 내 Application.cfc 파일을 업로드하면/project89/연합사/ORM/ColdFusion ORM이 상위 폴더에 영향을 미치지 않도록 설정하십시오.

<cfcomponent> 
    <cfset this.name = "whatevername"> 
    <cfset this.ormenabled = "true"> 
    <cfset this.datasource = "name_db"> 
</cfcomponent> 

우리가 다른 모든 ColdFusion에서 프로젝트를 주요 "사이트"폴더를 포함, 전체 상위 서버의 폴더에 영향을 전에 만들어 졌던.
ORM을 설정하여 하위 폴더에만 영향을 미치고 상위 폴더를 변경하지 않을 수 있습니까? 예 : site/project89의 ORM을 활성화하고 다른 사이트/프로젝트 **의 ORM을 방지합니다. ORM에 익숙하지 않은 사용자가있어서 서버를 다시 고장 낼 여유가 없기 때문에 도움이나 조언을 주시면 감사하겠습니다.
감사합니다.

+0

그래서인가?Coldfusion admin에서 요청 디버깅을 켜고 확실하지 않은 경우 어떤 파일이로드되는지 확인할 수 있습니다. – AlexP

+0

"site/project89"폴더와 해당 하위 폴더 파일 인 site/project89/folder1에서만 ORM을 활성화해야합니다. 사이트/project89/folder2 등 .. 죄송합니다임이 분명하지 않은 경우. – crashtestxxx

+0

은'site/project89' 폴더에있는'application.cfc'입니까? 편집 : 그냥 다시 질문을 읽고 - 당신이 거기에 이동해야합니다. – AlexP

답변

3

난 당신이 겪고있는 문제가 응용 프로그램의 위치/struture에 관한 생각합니다.

Application.cfcsite/project89의 루트로 이동해야합니다. 은 ColdFusion 문서에서

: ColdFusion에서 요청을 처리하기 시작하면

, 다음 않습니다

그것은 Application.cfc라는 이름의 파일에 대한 페이지의 디렉토리를 검색합니다. 이 있으면 CFC의 새 인스턴스를 만들고 초기 이벤트를 처리하고 검색을 중지합니다. (ColdFusion은 CFC의 새로운 인스턴스를 생성하고 각 요청에 대한 초기화 코드를 처리합니다.)

요청 된 페이지의 디렉토리는 Application.cfc 파일이없는 경우, 그것은 Application.cfm의 에 대한 디렉토리를 확인 파일. 존재하는 경우 ColdFusion은 논리적으로 Application.cfm 페이지를 요청 된 페이지의 시작 부분에 포함하고 의 검색을 더 이상 중지합니다. 요청 된 페이지의 디렉토리에 Application.cfc 또는 Application.cfm 파일이 없으면 ColdFusion은 디렉토리 트리를 검색하고 Application.cfc 파일이 있는지 먼저 확인하고, 해당 디렉토리가없는 경우 응용 프로그램 .cfm 페이지에서 까지 루트 디렉토리 (예 : C :)에 도달합니다.

Application.cfc 또는 Application.cfm 파일을 찾으면 페이지를 처리하고 검색을 중지합니다. 새로운`Application.cfc`이 다른 (부모) 파일을 호출되는

http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=appFramework_06.html하기 (ColdFusion 8하지만 여전히 관련)

+0

금요일에 하루 종일이 모든 것을 찾아 주셔서 감사합니다. 그리고 내 문제를 발견했다고 생각해. 나는 다른 프로젝트를 위해 기본 템플릿을 사용할 필요가 있으며, 이미'application.cfm' 파일이 있음을 알 수 있습니다. 그리고 아마도 내 cfc 파일과 충돌합니다. – crashtestxxx

1

"영향을받는"것 같아요. 어디서나 모델 CFC를 찾고 있습니다. 이것이 사실이라면, 당신은 모델의 경로를 제한하여 그것을 해결하기 위해 시도 할 수 있습니다 :

this.ormsettings.cfclocation = "path.to.models"; 
+0

그래서 this.ormsettings.cfclocation = "site/project89";를 선언함으로써 "site/project01"의 다른 이전 프로젝트에는 영향을 미치지 않습니다. 그리고 등? 다른 프로젝트는 자체 데이터베이스 소스를 가지고 있기 때문에 다시 충돌하는 것을 원하지 않습니다. 죄송합니다. 이러한 질문에 대해서는 CF로 노는 두 번째 주입니다. 도와 줘서 고마워. – crashtestxxx

+0

'this.ormsettings.cfclocation'는 coldfusion이 ORM ** 모델/엔티티 **를 검색하는 위치입니다. 'application.cfc'설정이 아니라면, 이것이 여러분이 생각하는 것 같지는 않습니다. – AlexP

관련 문제