Я бегу следующую команду с помощью ColdFusion-х cfexecute
: composite -geometry +2+2 "C:\Inetpub\wwwroot\isubscribe_uk\diomedes\www\images\newsletter\316\resized.png" "C:\Inetpub\wwwroot\isubscribe_uk\diomedes\www\images\newsletter\templateImages\isubscribe\blank.png" "C:\Inetpub\wwwroot\isubscribe_uk\diomedes\www\images\newsletter\316\part1.png"
CFExecute не работает для команды ImageMagick в
<cffunction name="executeWrap" returntype="string">
<cfargument name="commandToRun" type="string" required="Yes">
<cfargument name="cmdArg" type="string" required="Yes">
<cfset var result = "">
<cfexecute name="#arguments.commandToRun#" arguments="#arguments.cmdArg#"
variable="result" timeout="15" />
<!--- <cfdump var="#arguments#">
<cfdump var="#result#"> --->
<cfreturn result>
</cffunction>
почему-то выше, что не работает. Хотя, когда я запускаю команду непосредственно в командной строке, она работает.
Любые идеи, пожалуйста?
Вы получаете сообщение об ошибке (проверьте журналы)? Имеет ли пользователь ColdFusion права на выполнение exe-файла? Как вы избегаете цитат? Если вы выгрузите переменную 'arguments.cmdArg' перед вызовом' cfexecute', что вы получаете? –
1) «Не работает» неоднозначно. Каков фактический результат? Вы получаете какой-либо вывод вообще: переменные, журналы ошибок и т. Д.? 2) Всегда полезно указать ** полный путь ** к исполняемому, т. Е. 'C: \ path \ to \ composite.exe', чтобы гарантировать, что runtime.exec может найти файл. 3) Как упоминал @ Miguel-F, какая учетная запись пользователя - сервер ColdFusion? Это та же учетная запись, которую вы использовали для тестирования через командную строку? – Leigh
У меня были проблемы с cfexecute и appcmd.exe. В результате я использовал командную оболочку (cmd.exe), чтобы заставить ее работать. Вы можете увидеть мой ответ в этом вопросе/ответе для получения дополнительной информации: http://stackoverflow.com/questions/8438342/cfexecute-not-executing-appcmd-exe/8485021#8485021 –