команда запускается в терминале, а не в shell_exe c php в Mac - PullRequest
0 голосов
/ 30 апреля 2020

попытался запустить следующий код через скрипт php, работающий локально на xampp, и он возвращает null. Я попытался выполнить команду с exe c вместо shell_exe c, и он возвращает пустую строку в качестве вывода , Я работаю над Ма c, в котором работает mojave.

$out = shell_exec('security import ~/.bitnami/stackman/machines/xampp/volumes/root/htdocs/keys/ios.cer -k ~/Library/Keychains/app.keychain -P 123456789');

var_dump ($ out);

, когда я помещаю команду непосредственно в терминал, она успешно выполняется и показывает следующее сообщение. «1 сертификат успешно импортирован»

exec("security import ~/.bitnami/stackman/machines/xampp/volumes/root/htdocs/keystuff/ios.cer -k ~/Library/Keychains/app.keychain -P 123456789"." 2>&1", $out);

, когда я запускаю его описанным выше способом, я получаю эту ошибку:

array (1) {[0] => string (26) "sh: 1: security: not found "}

где я могу найти путь к инструменту безопасности в ma c?

Я пытался поместить файл ios .cer вне htdocs и снова он работает на терминале, а не с помощью сценария php.

Я дал всем права на чтение и запись для ios .cer файла

, указанная выше команда возвращает демон. Что я могу попытаться сделать так, чтобы он запускался через сценарий php?

Это та же проблема, если я пытаюсь запустить команду, которая использует команду xcodebuild, через shell_exe c. Мне интересно, связано ли это с тем, что путь и оболочка не могут найти защиту или xcodebuild.

...