我有一个小苹果脚本如下:
beep
delay 2
tell application "Finder" to activate
它只是发出声音,等待 2 秒,然后将“Finder”窗口置于前台。
当我从命令行运行它时,它工作正常。
然后我希望 PHP 使用 exec() php 函数调用该脚本。
<?
$cmd = "/usr/bin/osascript \"myscript.scpt\"";
exec($cmd);
?>
它仍然可以正常工作。
但是当我从浏览器调用相同的 PHP 脚本时,它不起作用!PHP 启动,Apple 脚本也启动,因为我能听到哔声,但它的最后一行没有执行。
我认为这将是一个环境变量,所以我确保它们与终端中的方式相同:
$cmd = "HOME='/Users/mikael' && … && /usr/bin/osascript \"myscript.scpt\"";
变量设置正确(与 env|sort 检查),但在浏览器中显示的 php 脚本中运行我的苹果脚本并使用标准的 MacOS apache 东西仍然没有运气。
任何想法?