【问题标题】:How to execute a terminal script in Linux from a php file如何在 Linux 中从 php 文件执行终端脚本
【发布时间】:2013-08-21 23:27:15
【问题描述】:

所以如果我把名字弄乱了,我很抱歉。我对linux还是很陌生。

我设置了一个无头树莓派网络服务器。我在上面安装了 TightVNC 服务器,这样我就可以远程访问了,但是在我的 pi 重新启动时,我一辈子都无法启动该死的服务器。

我的解决方法是创建一个 php 脚本,我可以从 Web 调用该脚本来执行启动 TightVNC 的终端脚本。我不知道它是否称为终端脚本,但在 Windows 中它称为 bat 文件。

php 文件有这个权限吗?如果是的话,执行这个文件的php命令是什么?

【问题讨论】:

  • 你为什么不修改你的linux启动参数来运行.sh脚本来运行TightVNC的服务?
  • @DarylGill 因为我不知道该怎么做。这就是问题的原因。你可以发布这个例子作为答案吗?
  • 作为一个拥有近 2k 名声的人,你应该知道问题在这里是如何运作的......咨询谷歌,尝试你的研究然后在这里发布问题或聘请开发人员,我不会构建一个完整的为您编写的脚本
  • @DarylGill 我确实咨询了谷歌。我遇到了我尝试的两个单独的例子。他们都没有工作。这就是为什么我来 SO 询问社区的原因。我希望人们对这个问题会变得成熟,并意识到我无法发布任何代码。感谢您的意见。
  • 令人惊讶的是,我应该咨询谷歌的问题如此受欢迎......

标签: php linux terminal raspberry-pi


【解决方案1】:

要使用 PHP 运行 shell 命令,请使用 shell_exec。它将以 Web 用户身份运行(例如,对于 Apache,www),因此该用户需要具有适当的权限。当然,您可以使用 sudo 来解决这个问题 - 但这是非常不安全的,也是一个非常非常糟糕的主意。

如果你有,例如一个名为 shellscript.sh 的 shell 脚本位于 yoru 服务器上,你已经编写了它来做你需要它做的任何事情,你可以在 php 中运行它:

shell_exec('sh path/to/shellscript.sh')

但是 - 我不确定我是否正确理解了您要执行的操作,但在我看来,这是一种笨拙、效率极低的处理方式,而且很可能有一个更顺畅的解决方案。即便如此,祝你好运。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 2011-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-09
    • 1970-01-01
    相关资源
    最近更新 更多