Я не знаю, что это за сделка...
Итак, я хочу запустить applescript: sudo osascript myscript.scpt
Это отлично работает в терминале, но не тогда, когда я выполняю его через PHP exec()
; Ничего не произошло. Консоль говорит
no tty present and no askpass program specified ; TTY=unknown ; …
Я сделал свое исследование, и кажется, что я пропускаю пароль для команды sudo
. Я попробовал пару различных способов обойти это, в том числе:
- запись
%admin ALL=(ALL) ALL
в/etc/sudoers
- и
proc_open()
вместоexec()
ни один из них, похоже, не работает, следовательно, вождение меня CrAzY!
Итак, в принципе, есть ли четкий способ заставить PHP выполнить простую команду терминала?
EDIT: уточнить, myscript.scpt
- это простой appleScript, который изменяет экранный интерфейс (для более крупного проекта). Теоретически просто osascript myscript.scpt
должно быть достаточно, однако sudo
по какой-то причине необходимо вызвать некоторый ответ от системы. Если sudo
можно каким-то образом устранить, я не думаю, что у меня будет эта проблема с разрешениями.