如果我把名字弄乱了,我很抱歉。我对 Linux 还是很陌生。
我设置了一个 headless 树莓派网络服务器。我在上面安装了 TightVNC 服务器,这样我就可以远程访问了,但是在我的一生中,当我的 pi 重新启动时,我无法让该死的服务器启动。
我的解决方法是拥有一个 php 脚本,我可以从 web 调用它来执行启动 TightVNC 的终端脚本。我不知道它是否称为终端脚本,但在 Windows 中它称为 bat 文件。
php文件有这个权限吗?如果是这样,执行此文件的 php 命令是什么?
最佳答案
要使用 PHP 运行 shell 命令,请使用 shell_exec .它将以 web 用户身份运行(例如,Apache 的 www),因此用户将需要具有适当的权限。当然,您可以使用 sudo 来解决这个问题 - 但这是非常不安全的,而且是一个非常非常糟糕的主意。
所以如果你有,例如一个名为 shellscript.sh 的 shell 脚本位于你的服务器上,你已经编写了它来做你需要它做的任何事情,你可以在 php 中运行它:
shell_exec('sh path/to/shellscript.sh')
但是 - 我不确定我是否正确理解了您要尝试做的事情,但在我看来,这是一种处理事情的笨拙、非常低效的方式,而且很可能有更流畅的解决方案。即便如此,祝你好运。
关于php - 如何从 php 文件在 Linux 中执行终端脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18369257/