簡體   English   中英

coldfusion 8和2016:CFEXECUTE不返回結果/錯誤

[英]coldfusion 8 and 2016: CFEXECUTE not returning result/error

我在瀏覽器中得到的只是一個空白屏幕。 如果我不使用IsDefined,則會在頁面中收到錯誤消息,指出該變量不存在。

如果我拼錯了一個命令(例如:使用/ bin / bsh而不是/ bin / bash),則會出現異常,指出CF無法找到該程序。 所以它似乎正在工作。 我只想檢查它是否真的在運行。

這是我的代碼:

------
<cfexecute name="/bin/ls" arguments=" -la /" errorVariable="error" variable="result"></cfexecute>
<cfif IsDefined("result")>
    <cfdump var="#result#">
</cfif>
<cfif IsDefined("error")>
    <cfdump var="#error#">
</cfif>

<cfexecute name="/bin/bash" arguments=" -c '/bin/ls -la /'" errorVariable="error" variable="result"></cfexecute>
<cfif IsDefined("result")>
    <cfdump var="#result#">
</cfif>
<cfif IsDefined("error")>
    <cfdump var="#error#">
</cfif>

您需要在cfexecute上指定一個timeout ,以便順序獲取有效的結果/錯誤。

默認timeout0 ,這是非阻塞的,這意味着您的命令正在異步執行。 這意味着您不會立即得到結果。

我不確定對於Adobe,“非阻塞”是指variableerror屬性被完全忽略還是最終被設置。 如果您很好奇,可以將cfsleep並找出來,請不要進行生產。 :)

您必須指定要執行的應用程序絕對路徑。在Windows上,請指定擴展名,例如C:\\ myapp.exe。

我已經使用cfexecute運行了我的sqlCMD,在這里我已經傳遞了MS sql服務器的絕對路徑。

<cfexecute name="C:\Program Files\Microsoft SQL Server2016\Client SDK\ODBC\130\Tools\Binn\SQLCMD.EXE" arguments=" -S localhost -U sa -P sqlPwd@12## -i" timeout="0" errorFile="#logsDir#/#TableSqls.name#_error.txt">

</cfexecute>

希望對您有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM