0

我想通过以下php代码打开一个虚拟机:

<?php
$output = shell_exec("virt-viewer --connect qemu:///system 1 2>&1");
echo "<pre>$output</pre>";
?>

我已经设置了文件的读、写和执行权限。

我收到以下错误:

(virt-viewer:15162): Gtk-WARNING **: 22:45:33.686: 无法打开显示:

如果我遗漏了什么或做错了什么,请帮忙。谢谢

4

1 回答 1

0

网页的工作原理:

浏览器向 Web 服务器发出请求,Web 服务器提供html和可选的其他资产文件(css、js ..),但通常情况下,html 先加载并保持原样 - 内容不会更改(除非它被 JS 更改,这不是这里的情况)。

您的调用将执行一些 shell 命令,它将返回一些响应(一些文本),并且您将在一些 var 中得到它。如果您将该静态文本显示为页面的一部分,您希望它如何充当 GUI?!?

那是不可能的。想象你是从shell_exec()一些视频游戏的 exe 文件中调用的?然后游戏会在浏览器中运行吗?!?

您可以调用 shell 命令来触发服务器上的某些操作(即重新缩放某些图像、处理某些视频)或收集某些响应(即可用磁盘空间或其他东西)。但是期望如果你调用某种形式的 shell 会出现在浏览器中是不现实的。

于 2019-08-30T11:05:11.200 回答