簡體   English   中英

使用vboxmanage的php exec啟動虛擬服務器。

[英]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.

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