Osascript не выполняется - возвращает пустой массив - PullRequest
0 голосов
/ 05 февраля 2019

У меня в коде есть команда exec (), которая запускает яблочный скрипт с рабочего стола

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

На одном компьютере он работает без ошибок, на втором компьютере он возвращает пустой массив.Они находятся точно в одном каталоге, кроме имени пользователя, которое я изменил на правильное.Я также проверил права доступа к файлу.

Буду признателен, если кто-нибудь сможет пролить свет на этот файл.

1 Ответ

0 голосов
/ 05 февраля 2019

PATH, с которым выполняются сценарии, может отличаться на двух машинах.

Исполняемый файл osascript живет по адресу:

/usr/bin/osascript

Я думаю, машина, которая работает, включает /usr/bin в PATH, а та, которая не работает, не работаетвключите его.

TL; DR

Укажите полный путь:

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