php exec用vboxmanage启动虚拟服务器。

时间:2012-11-27 20:36:20

标签: php virtualbox

我正在尝试使用PHP脚本创建一个简单的项目来启动VirtualBox VM。我的服务器是win 7终极并运行php5.3我正在使用vboxmanage.exe启动服务器。 cmd在批处理文件中运行良好,或者直接键入cmd行。

当我使用时:

exec("path to vboxmange.exe" startvm "vm name");

它不起作用。如果我将代码更改为:

exec(dir);

它工作正常。我做了一些搜索,每个人似乎都提到了IIS_IUSRS的权限。我将它设置为在vboxmanage.exe上读取并执行并尝试为cmd.exe执行此操作,但似乎不能让它允许我这样做,虽然它似乎没有必要,因为它可以运行像dir这样的其他cmds。

我的另一个理论是,exec将整个cmd包装在“”中,当我尝试手动将其输入到cmd行时,这不起作用。我试图修剪它但是没有用,因为exec添加它所以我没有做之前可以阻止它。

有关其他方式的建议或可能的建议吗?

1 个答案:

答案 0 :(得分:0)

来自exec in the PHP Manual

  

注意:启用安全模式后,您只能执行安全模式   safe_mode_exec_dir之。出于实际原因,目前不允许这样做   在可执行文件的路径中包含..组件。

检查safe_mode_exec_dirphp.ini的值。我猜它默认会有相当严格的限制。

如果这不起作用,请查看评论。特别是,this comment可能会对您有所帮助。