我在通過Windows Server 2012上的Apache(WAMP)執行VBScript時遇到問題。我試圖將Docx轉換爲PDF,並且腳本完美地從命令行運行,但失敗當通過PHP運行時。我將提供一個鏈接到它:http://bit.ly/1gngYAn在WAMP堆棧上通過PHP執行vbscript的問題
當通過PHP執行如下,WINWORD.exe就像VBScript一樣啓動,並掛在那裏,什麼也沒有發生。沒有生成PDF(我從來沒有看到〜temporary.docx隱藏文件在目錄中彈出)。
我已經嘗試過幾乎所有的exec,system,passthru和COM('WScript.Shell')的迭代,並且都有相同的結果。
爲了避免「轉義」問題,我還嘗試通過.bat文件執行腳本,因此不需要傳遞任何參數,並且結果是相同的。
這裏是我當前的PHP代碼(convert.vbs是從上面的鏈接的代碼):
$obj = new COM ('WScript.Shell');
$obj->Run ('cmd /C wscript.exe //B C:\Users\Administrator\Desktop\convert.vbs c:\wamp\www\fileconv\temp_store\52fa8272bf84f.docx', 1, false);
//I have tried different "window styles" too, and it doesn't make a difference
我也嘗試修改Apache服務用戶以管理員身份運行(這不是一個生產服務器) ,並啓用了「允許服務與桌面交互」,並獲得了相同的結果。
我也確保目錄具有所有人的「完全控制」(讀,寫,執行等)。
如果我從命令行運行或使用「.bat」文件運行,它會運行得很好。
由於它掛起(腳本和單詞,而不是apache),我已經查看了控制面板中的事件查看器,但沒有涉及的事件。
我的問題首先是爲什麼會發生這種情況,其次,如果第一個答案不能回答,是否有一種方法可以深入瞭解執行過程時發生的情況,排除故障?到目前爲止,我沒有任何數據可供查看或輸出,以幫助我排除故障。
請隨時詢問任何細節。我嘗試了很多很多次的迭代來嘗試使其工作,搜索高低,並且似乎無法得出任何答案。
我很欣賞你的幫助,
路易
請再次閱讀這個問題 - 「我已經嘗試過exec,system,passthru和COM('WScript.Shell')的每一次迭代,並且都有相同的結果。我嘗試過使用exec(),並且通過PHP執行的方式似乎對結果沒有任何影響。 – user1080943