我的代码上有一个exec()命令,该命令从桌面上运行一个Applescript
$cmd = "osascript /Users/***/Desktop/script.app";
exec($cmd, $output);
print_r($output);
在一台计算机上,它运行没有错误,在另一台计算机上,它返回了一个空数组。除了用户名(我将其更改为正确的用户名)外,它们完全位于同一目录中。我还检查了文件权限。
如果有人能对此有所了解,我将不胜感激。
答案 0 :(得分:1)
执行脚本的PATH
在两台计算机上可能不同。
可执行文件osascript
位于:
/usr/bin/osascript
我猜工作正常的机器在/usr/bin
中包括了PATH
,而无效的机器则不包括它。
TL; DR
给出完整路径:
$cmd = "/usr/bin/osascript /Users/***/Desktop/script.app";
exec($cmd, $output);