Osascript未执行-返回空数组

时间:2019-02-05 14:17:31

标签: php applescript osascript

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

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

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

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

1 个答案:

答案 0 :(得分:1)

执行脚本的PATH在两台计算机上可能不同。

可执行文件osascript位于:

/usr/bin/osascript

我猜工作正常的机器在/usr/bin中包括了PATH,而无效的机器则不包括它。

TL; DR

给出完整路径:

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