我已经在我的网络上设置了两个覆盆子pis。第一个pi P1托管一个apache2服务器,我在上面运行了一个基本的index.php网页。第二个pi流正在运行mjpg- P2服务。我可以在P1网页上查看该流。我想做的是在P1网页上有一个在P2上执行一系列终端命令的按钮。其意图是有一种方法可以在P1上停止和启动P2上的流媒体服务。
我发现使用php时,我可以使用以下命令运行命令:
<?php
$output = shell_exec('ls -lart');
echo "<pre>$output</pre>";
?>但这会在P1上运行命令,我如何在P2上运行命令?
上面的例子来自:http://php.net/manual/en/function.shell-exec.php
发布于 2017-11-07 09:14:22
因为PHP是服务器端的,所以它只能在服务器上执行(在本例中是P1)。如果你想从托管在P1上的网页在P2上执行命令,你必须使用一些客户端的东西,比如Java applet。
另一种选择是创建一个API,这样点击按钮就可以对P2进行API调用,然后再调用一些函数。
发布于 2017-11-07 09:55:18
您可以使用ssh和共享密钥在服务器上执行远程命令。这不是一个真正的PHP答案,但它仍然是一个答案。
https://www.garron.me/en/go2linux/ssh-sudo-run-commands-remote-server.html
https://stackoverflow.com/questions/47148372
复制相似问题