gpt4 book ai didi

php - php exec() 中的 sudo

转载 作者:IT老高 更新时间:2023-10-28 12:37:32 26 4
gpt4 key购买 nike

我不知道这里的交易是什么……

所以我想运行一个applescript:sudo osascript myscript.scpt

这在终端中运行良好,但当我通过 PHP 的 exec() 执行它时却不行;什么都没发生。控制台说

no tty present and no askpass program specified ; TTY=unknown ; …

我进行了研究,似乎我缺少 sudo 命令的密码。我尝试了几种不同的方法来解决这个问题,包括:

  • /etc/sudoers
  • 中写入 %admin ALL=(ALL) ALL
  • proc_open() 而不是 exec()

似乎都没有工作,因此让我发疯!

所以基本上,有没有一种明确的方法可以让 PHP 执行一个简单的终端命令?

编辑:澄清一下,myscript.scpt 是一个简单的appleScript,它改变了屏幕UI(对于一个更大的项目)。理论上,简单的 osascript myscript.scpt 就足够了,但是出于某种原因,sudo 是从系统调用 some 响应所必需的。如果 sudo 可以以某种方式消除,我认为我不会遇到这个权限问题。

最佳答案

听起来您需要设置无密码 sudo。试试:

%admin ALL=(ALL) NOPASSWD: osascript myscript.scpt

如果存在以下行(通过 visudo 在/etc/sudoers 中),请同时注释掉:

Defaults    requiretty

关于php - php exec() 中的 sudo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3173201/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com