shell exec -通过php调用osascript shell_exec不起作用


shell exec - Call osascript through php shell_exec doesn't work

当我遇到这个问题时,我正在尝试用osascript做一些事情。

下面是我的测试:

/usr/bin/osascript <<-EOF
    tell application "System Events"
        activate
        display dialog "Hello world"
    end tell
EOF
这是我的PHP文件。
<?php
$output = shell_exec("./test");
echo "<pre>$output</pre>";
?>

你知道为什么这不起作用吗?(这不是很重要,我只是好奇)

我怀疑osascript可执行文件需要设置环境变量才能正确工作,这就是为什么它在控制台中工作得很好。查看这个答案,向您展示如何从PHP中设置这些。

在我的例子中,它是HOME变量,但它可以是其他东西。继续添加它们,直到它工作!