0

我正在运行 CF9 开发版 - 使用内置的网络服务器,在 win XP sp3 上我似乎无法获得从 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 一样。

想法。???

4

3 回答 3

1

我要尝试的第一件事是从 C:\documents 和设置更改您的路径 ...(这实际上是 Windows 7 中的快捷文件/指针,而不是真正的路径)并使用 c:\users\m.pov- isp\Documents\actX.vjb)。以防万一ColdFusion 无法解析系统环境中的指针。

做不到这一点,是语法还是权限?

为了排除语法,我会运行这个,针对 Windows 7 稍作修改,来自 live docs的股票示例:

<cfexecute name = "C:\Windows\System32\NETSTAT.EXE" 
    arguments = "-e"  
    outputFile = "C:\Temp\output.txt" 
    timeout = "1"> 
</cfexecute>

如果显示输出文件,您就知道这是语法。如果没有,我们可以攻击服务......

打开您的服务面板(右键单击我的计算机 -> 管理 -> 服务和应用程序 -> 服务)。

选择 ColdFusion 9 应用程序服务器 -> 属性

将登录帐户更改为您自己的。这应该使 ColdFusion 可以访问您的文档以及您作为用户可以访问的所有其他资源。您可能还想尝试输出到 C 驱动器上不太可能出现权限冲突问题的文件夹。

祝你好运。-戴夫

于 2011-08-01T21:13:02.300 回答
0

您还可以尝试使用以下命令覆盖您正在制作的单个文件中的任何设置

<cfsetting requesttimeout = "10000">

其中,10000 是 10000 秒。您可能希望坚持 600 秒(10 分钟)并从那里向上移动。我会把它放在 cfexecute 之前。您可以先尝试单独使用它,或者与 cfexecute 超时结合使用。

让我们知道怎么回事!

于 2011-08-02T02:32:12.677 回答
0

如果上述方法都不起作用,请获取SysInternals Process Monitor并在运行请求时运行它。Process Monitor 生成数以千计的事件(过滤它们是非常必要的),包括所有文件和注册表访问尝试及其成功。您很可能会在它所做的日志记录中找到线索。

于 2011-08-04T11:19:24.743 回答