我来自PHP / MySQL背景,现在我作为Coldfusion 9开发人员获得了新的后端职位。我是Coldfusion的新手,所以出于学习和测试目的,我在我的localhost上安装了CF.在我的本地主机上,我设置并测试了ORM,它运行良好,并且它不会干扰其他父文件夹。将Application.cfc文件上传到主服务器后,在site / project89 / cfc / orm /
下<cfcomponent>
<cfset this.name = "whatevername">
<cfset this.ormenabled = "true">
<cfset this.datasource = "name_db">
</cfcomponent>
它影响了整个父服务器文件夹,包括主“site”文件夹,其中包含之前构建的所有其他coldfusion项目。
有没有办法设置ORM只影响自己的子目录,不要对其父文件夹进行任何更改?
例如,为site / project89启用ORM,并阻止其他站点/项目上的ORM **。
任何帮助或建议将不胜感激,因为在我工作的地方,没有人熟悉ORM,我再也无法让我们的服务器崩溃。
谢谢。
答案 0 :(得分:3)
我认为您遇到的问题与申请的位置/结构有关。
您需要将Application.cfc
移至site/project89
的根目录。
来自ColdFusion docs:
当ColdFusion开始处理请求时,它会执行以下操作:
在页面的目录中搜索名为Application.cfc的文件。如果 一个存在,它创建一个新的CFC实例,处理 初始事件,并停止搜索。 (ColdFusion创造了一个新的 CFC的实例并处理每个的初始化代码 请求。)
如果请求的页面目录没有 在Application.cfc文件中,它检查Application.cfm的目录 文件。如果存在,ColdFusion逻辑上包括Application.cfm 请求页面开头的页面并停止搜索 进一步。如果请求的页面的目录没有 Application.cfc或Application.cfm文件,ColdFusion搜索了 目录树并首先检查每个目录的Application.cfc 文件,然后,如果找不到,则为Application.cfm页面,直到 它到达根目录(例如C :)。
当它找到Application.cfc或Application.cfm文件时,它会处理页面和 停止搜索。
http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=appFramework_06.html(ColdFusion 8但仍然相关)
答案 1 :(得分:1)
我想在“受影响”之下,你的意思是它正在寻找各地的模型CFC。如果是这样,您可以尝试通过限制模型的路径来解决它:
this.ormsettings.cfclocation = "path.to.models";