【发布时间】:2016-06-01 21:31:02
【问题描述】:
我正在为我的公司开发一个旧的 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,这是我这样做的唯一目的。
任何想法为什么这会引发错误,谢谢。
【问题讨论】:
-
CF 代码中有一个替换反斜杠服务。在 linux 下不行...
-
你是说我需要使用这样的服务?或者那个服务不起作用?
-
xml 后的正斜杠不会出现在您的 pwd 输出中。
-
我也试过了,把它从行尾删除了,没有运气。我的错误是我之前将反斜杠固定为正斜杠,我复制错误,它们目前是正斜杠。编辑了帖子。
-
我没有运行 Linux,但出于好奇,它会在 all 目录下失败,还是仅在其中一些目录下失败?
标签: linux coldfusion server coldfusion-11