php exec()中的Sudo
我不知道这是怎么回事,…
所以我想运行一个AppleScript:sudo osascript myscript.scpt
这在终端中运行得很好,但当我通过PHP执行它时就不行了。exec()
什么也没发生。控制台上写着
no tty present and no askpass program specified ; TTY=unknown ; …
我做了我的研究,似乎我错过了密码sudo
命令。我尝试了几种不同的方法来解决这个问题,包括:
- 写字
%admin ALL=(ALL) ALL
在……里面/etc/sudoers
- 和
proc_open()
而不是exec()
所有这些似乎都不起作用,结果把我逼疯了!
因此,基本上,有一个明确的方式让PHP执行一个简单的终端命令吗?
编辑:为了澄清,myscript.scpt
是一个简单的AppleScript,它可以更改屏幕上的UI(用于更大的项目)。理论上,很简单osascript myscript.scpt
应该足够了,但是sudo
由于某种原因需要调用一些系统的回应。如果sudo
可能会被删除,我不认为我会有这个权限问题。