我正在尝试使用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添加它所以我没有做之前可以阻止它。
有关其他方式的建议或可能的建议吗?
答案 0 :(得分:0)
注意:启用安全模式后,您只能执行安全模式 safe_mode_exec_dir之。出于实际原因,目前不允许这样做 在可执行文件的路径中包含..组件。
检查safe_mode_exec_dir
中php.ini
的值。我猜它默认会有相当严格的限制。
如果这不起作用,请查看评论。特别是,this comment可能会对您有所帮助。