我在win XP sp3上运行CF9 dev版本 - 使用内置的web服务器 我似乎无法从CF运行命令行...
错误如下所示: 超时期限已过期,但未完成C:\ Program Files \ Vis \ vis.exe
如果我从CMD运行它 - 它工作正常...... C:\ Program Files \ Vis \ vis.exe“C:\ Documents and Settings \ me.POV-ISP \ My Documents \ actX.vjb”
尝试使用此代码(或许多其他变体)从CF运行它并且它超时。
<cfexecute name = "C:\Program Files\Vis\vis.exe"
arguments = "C:\Documents and Settings\me.POV-ISP\My Documents\actX.vjb"
variable="result" timeout="600" errorVariable="errorv"/>
通过阅读其他主题,我理解它可能是权限,但权限应该是什么?我安装了CF作为我 - 它通过我的帐户在本地运行,就像我运行CMD一样。
想法???。
答案 0 :(得分:0)
我要尝试的第一件事就是从C:\ documents和settings ...改变你的路径...(这实际上是Windows 7中的快捷文件/指针,而不是真正的路径)并使用c:\ users \ m .pov-ISP \文档\ actX.vjb)。以防ColdFusion无法解析系统环境中的指针。
如果失败,那么它是语法还是权限?
要排除语法,我会运行此文件,稍微修改一下Windows 7,stock example来自实时文档:
<cfexecute name = "C:\Windows\System32\NETSTAT.EXE"
arguments = "-e"
outputFile = "C:\Temp\output.txt"
timeout = "1">
</cfexecute>
如果输出文件出现,您知道它是语法。如果不是,我们可以攻击该服务...
打开服务面板(右键单击我的电脑 - &gt;管理 - &gt;服务和应用程序 - &gt;服务)。
选择ColdFusion 9应用程序服务器 - &gt;特性
将登录帐户更改为您自己的帐户。这应该使ColdFusion能够访问您的文档以及您可以作为用户访问的所有其他资源。您也可以尝试输出到C驱动器上不太可能存在冲突权限问题的文件夹。
祝你好运。 -Dave答案 1 :(得分:0)
您还可以尝试使用以下命令覆盖您正在制作的单个文件中的任何设置
<cfsetting requesttimeout = "10000">
其中,10000是10000秒。您可能希望坚持600秒(10分钟)并从那里向上移动。我会把它放在cfexecute之前。您可以先尝试单独使用,也可以与cfexecute timeout一起使用。
告诉我们它是怎么回事!
答案 2 :(得分:0)
如果上述方法都不起作用,请抓住SysInternals Process Monitor并在运行请求时运行它。 Process Monitor生成数千个事件(过滤它们是非常必要的),包括所有文件和注册表访问尝试及其成功。 您可能会在日志记录中找到线索。