我正在为我的公司制作一个旧的Coldfusion 11应用程序,这个错误让我很难过。 .cfm
内有以下检查:
<cffunction name="init">
<cfargument name="searchDir" required="yes" default="#replace(GetDirectoryFromPath(GetCurrentTemplatePath()),'/services','')#xml/">
<cfargument name="checkoutMode" required="no" default="protect">
<!--- library variables initialization --->
<cfset Variables.libBaseDir = arguments.searchDir>
<cfset Variables.libCheckoutMode = arguments.checkoutMode>
<cfif NOT DirectoryExists(Variables.libBaseDir)>
<cfthrow message="The base document directory '#Variables.libBaseDir#' does not exist!">
</cfif>
....
</cffunction>
Variable.libBaseDir
在错误消息中打印为:
/opt/app/coldfusion/coldfusion11/cfusion/wwwroot/<some-app>/xml/
但我的目录显然如下(使用pwd
):
/opt/app/coldfusion/coldfusion11/cfusion/wwwroot/<some-app>/xml
这适用于Windows服务器,但不适用于Linux ,这是我的唯一目的。
任何想法为什么会引发错误,谢谢。
答案 0 :(得分:0)
这是我最终使用的原因,因为&#34; /&#34;无论我做了什么,都继续被追加到路径的尽头。
<cfargument name="searchDir" required="yes" default="#replace(GetDirectoryFromPath(GetCurrentTemplatePath()),'services/','xml')#">
<cfset Variables.libBaseDir = Left(arguments.searchDir, Len(arguments.searchDir)-1)>
所以我删除了&#34; /&#34;在路径的尽头,并修复它。
感谢之前的所有建议。