[英]php exec with vboxmanage to start virtual server.
我正在嘗試做一個簡單的項目,以使用PHP腳本啟動VirtualBox VM。 我的服務器是win 7 Ultimate,並運行php5.3,我正在使用vboxmanage.exe啟動服務器。 cmd在批處理文件中效果很好,或者直接在cmd行中鍵入。
當我使用時:
exec("path to vboxmange.exe" startvm "vm name");
它不起作用。 如果我將代碼更改為:
exec(dir);
它工作正常。 我做了一些搜索,每個人似乎都提到了IIS_IUSRS的權限。 我將其設置為已在vboxmanage.exe上讀取並執行,並嘗試為cmd.exe執行此操作,但似乎無法獲取它以允許我執行此操作,盡管它似乎沒有必要,因為它可以運行諸如dir之類的其他cmd。
我有另一個理論是exec將整個cmd包裹在“”中,而當我嘗試手動將其鍵入cmd行時,這是行不通的。 我試圖將其修剪掉,但這不起作用,因為exec將其添加到了上面,所以我之前沒有做任何事情可以阻止它。
有其他建議可以做到這一點或可能是什么?
從PHP手冊中的exec
:
注意:啟用安全模式后,您只能在safe_mode_exec_dir中執行文件。 出於實際原因,當前不允許在可執行文件的路徑中包含..組件。
檢查php.ini
safe_mode_exec_dir
的值。 我猜默認情況下它會相當嚴格。
如果這不起作用,請查看注釋。 特別是, 此評論可能對您有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.