【问题标题】:Osascript not executing - returns empty arrayOsascript 未执行 - 返回空数组
【发布时间】:2019-02-05 14:17:30
【问题描述】:

我的代码上有一个 exec() 命令,它从桌面运行一个 applescript

$cmd = "osascript /Users/***/Desktop/script.app";
exec($cmd, $output);
print_r($output);

在一台计算机上它运行没有错误,在第二台计算机上它返回一个空数组。它们完全位于同一目录中,除了我将其更改为正确的用户名。我还检查了文件权限。

如果有人能对此有所了解,我将不胜感激。

【问题讨论】:

  • @MarkSetchell 出于某种原因,一台机器无法从文件中加载 applescript。如果我在我的代码中编写脚本,它会完美运行。你的回答很有帮助

标签: php applescript osascript


【解决方案1】:

用于执行脚本的PATH 在两台机器上可能不同。

可执行文件osascript 位于:

/usr/bin/osascript

我猜可以工作的机器在PATH中包含/usr/bin,不工作的机器不包含它。

TL;DR

给出完整路径:

$cmd = "/usr/bin/osascript /Users/***/Desktop/script.app";
exec($cmd, $output);

【讨论】:

    猜你喜欢
    • 2023-03-23
    • 2019-04-03
    • 1970-01-01
    • 2020-07-03
    • 2014-02-12
    • 1970-01-01
    • 1970-01-01
    • 2018-03-24
    • 2017-07-12
    相关资源
    最近更新 更多