2016-06-01 15 views
1

Ich arbeite an einer alten Coldfusion 11 Anwendung für meine Firma und dieser Fehler stampft mich. Es gibt die folgenden Kontrolle innerhalb eines .cfm:Verzeichnis existiert nicht, aber tut eindeutig

<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 wird in der Fehlermeldung gedruckt wie:

/opt/app/coldfusion/coldfusion11/cfusion/wwwroot/<some-app>/xml/ 

Aber mein Verzeichnis ist klar wie folgt (verwendet pwd):

/opt/app/coldfusion/coldfusion11/cfusion/wwwroot/<some-app>/xml 

Dies funktioniert auf einem Windows-Server, aber nicht Linux, mein einziger Zweck dies zu tun .

Irgendwelche Ideen, warum dies den Fehler werfen würde, danke.

+0

Es gibt einen Ersatz Backslash-Dienste im CF-Code. Würde nicht unter Linux funktionieren ... –

+0

Sie sagen, dass ich einen solchen Dienst verwenden muss? Oder ein solcher Service wird nicht funktionieren? – theblindprophet

+1

Der Schrägstrich nach xml erscheint nicht in Ihrer pwd-Ausgabe. –

Antwort

0

Hier ist, was ich am Ende verwendet, weil ein "/" weiterhin an das Ende des Pfades angehängt wurde, egal was ich tat.

<cfargument name="searchDir" required="yes" default="#replace(GetDirectoryFromPath(GetCurrentTemplatePath()),'services/','xml')#"> 

<cfset Variables.libBaseDir = Left(arguments.searchDir, Len(arguments.searchDir)-1)> 

Also entfernte ich das "/" am Ende des Pfades und das reparierte es.

Danke für alle vorherigen Vorschläge.

+0

Aus Neugier, welchen Geschmack von Linux? Ich habe ein paar hartcodierte Tests in Ubuntu ausgeführt, und es funktionierte gut für mich, mit oder ohne das abschließende "/". – Leigh

+0

Red Hat 6 Server – theblindprophet