目录不存在,但显然存在
Directory does not exist, but clearly does
我正在为我的公司开发一个旧的 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,我这样做的唯一目的。
知道为什么会抛出错误,谢谢。
这是我最终使用的,因为无论我做什么,“/”都会继续附加到路径的末尾。
<cfargument name="searchDir" required="yes" default="#replace(GetDirectoryFromPath(GetCurrentTemplatePath()),'services/','xml')#">
<cfset Variables.libBaseDir = Left(arguments.searchDir, Len(arguments.searchDir)-1)>
所以我删除了路径末尾的“/”并修复了它。
感谢之前的所有建议。
我正在为我的公司开发一个旧的 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,我这样做的唯一目的。
知道为什么会抛出错误,谢谢。
这是我最终使用的,因为无论我做什么,“/”都会继续附加到路径的末尾。
<cfargument name="searchDir" required="yes" default="#replace(GetDirectoryFromPath(GetCurrentTemplatePath()),'services/','xml')#">
<cfset Variables.libBaseDir = Left(arguments.searchDir, Len(arguments.searchDir)-1)>
所以我删除了路径末尾的“/”并修复了它。
感谢之前的所有建议。