2009-07-16 20 views
3

Ich versuche, einige Dateien in einem Rollup-Skript mit jsmin zu minimieren. Das funktioniert auf meinem lokalen Computer einwandfrei, aber wenn es in die Produktion geht, funktioniert es überhaupt nicht. Ich führe den integrierten CF-Entwicklungsserver lokal und IIS auf Produktion. Ich bin mir nicht sicher, wie ich dieses Problem beheben sollte. Hier ist ein relevanter Codeausschnitt:CFExecute funktioniert scheinbar nicht

<cfset LOCAL.args = '/c "C:\Inetpub\wwwroot\jsmin.exe < #LOCAL.jsfile#"'> 
    <cfexecute name="c:\windows\system32\cmd.exe" 
       arguments="#LOCAL.args#" 
       timeout=10 
       variable="LOCAL.jsmin">    
    </cfexecute> 
+1

Berechtigungsproblem? – Henry

+0

Könnte das Problem sein, aber ich bin mir nicht sicher, wie zu überprüfen. – illvm

Antwort

3

Ich denke, das Problem mit dem Versuch, war ein 32-Bit-Programm unter einem 64-Bit-Betriebssystem laufen zu lassen, aber ich bin nicht ganz sicher. Ich konnte keinen guten C-Compiler auf meinem Computer bekommen, also habe ich die Java-Quelle für JSMin bekommen und sie mit ColdFusion's JRE ausgeführt. Das hat es funktioniert.

2

Wie Henry sagt, ist das erste, was zu prüfen ist, Berechtigungen.

Mit welchem ​​Benutzer läuft der CF-Dienst? Hat dieser Benutzer die Berechtigung, auf cmd.exe und jsmin.exe zuzugreifen?

etc

+0

Sowohl IUSR als auch SYSTEM haben Lese- und Ausführungsberechtigungen für die Datei. Ich gehe davon aus, dass JRun.exe der Webserver ist und unter SYSTEM ausgeführt wird. Ich habe die Website-Einstellungen überprüft und die Anwendung hat Ausführungsrechte, die auf "Skripts und ausführbare Dateien" gesetzt sind. – illvm

+1

Gehe zu Systemsteuerung> Admin> Dienste, finde ColdFusion, klicke mit der rechten Maustaste> Eigenschaften, gehe zur Registerkarte Anmelden. - ** Das ** ist der Benutzer, auf dem es ausgeführt wird und der * Windows * level Ausführungsberechtigungen benötigt, nicht IIS level Berechtigungen. –

+0

Es ist auf lokales Systemkonto eingestellt. – illvm

Verwandte Themen