我不知道这里的交易是什么……</p>
所以我想运行一个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
可以以某种方式消除,我认为我不会遇到这个权限问题。