通过php shell_exec调用osascript';行不通

通过php shell_exec调用osascript';行不通,php,shell-exec,osascript,Php,Shell Exec,Osascript,当我遇到这个问题时,我正在尝试使用osascript 这是我的测试: /usr/bin/osascript <<-EOF tell application "System Events" activate display dialog "Hello world" end tell EOF /usr/bin/osascript 你知道为什么这不起作用吗?(这并不重要,但我只是好奇)我怀疑osascript可执行文件需要设置环境变量

当我遇到这个问题时,我正在尝试使用osascript

这是我的测试:

/usr/bin/osascript <<-EOF

    tell application "System Events"
        activate
        display dialog "Hello world"
    end tell

EOF
/usr/bin/osascript

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

我怀疑osascript可执行文件需要设置环境变量才能正常工作,这就是为什么在控制台上可以正常工作的原因。请参阅以演示如何从PHP设置这些


在我的例子中,它是
HOME
变量,但也可能是其他变量。继续添加它们,直到成功

呃,所以别让我们悬而未决!您得到了什么输出?请尝试
shell\u exec(“/path/to/test2>&1”)
将错误输出重定向到标准输出。另外,为了安全起见,如图所示交换到完整路径。
46:54:执行错误:发生了类型为-10810的错误。(-10810)
Aha!那么,如果从控制台运行该文件,该文件是否正确执行?/test执行时没有问题。这是我第一次尝试!好。错误10810似乎是因为我要求系统打开弹出窗口,但系统不想打开,除非你从应用程序中打开。我可以使用
system()
shell\u exec()
直接调用不需要GUI元素Right的脚本。是的,我不希望任何弹出对话框的东西在web进程中通过PHP工作。
<?php
$output = shell_exec("./test");
echo "<pre>$output</pre>";
?>