php - 如何从 php 文件在 Linux 中执行终端脚本

标签 php linux terminal raspberry-pi

如果我把名字弄乱了,我很抱歉。我对 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/

相关文章:

php - 用php服务外部文件下载

linux - 显示基于 "Windows-speak"的兼容命令的 bash 脚本

macos - OS X 终端颜色

linux - 控制客户端(linux)

php - 通过列名访问MySql数组

php - 想知道.. mysql 和 mysqli 是否可以同时在同一个网站上使用?

php - 将 ORDER BY 语法附加到 php MySQL 查询

c++ - 使用 OpenWRT 工具链为 OpenWRT Linux 环境交叉编译 POCO 库

linux - 如何使用控制台命令使 kde (3) 面板透明?

java - 检查 jar 是否正在运行