У меня есть требование, чтобы веб-скрипт выполнял exe-файл, а затем возвращал результаты exe-файла в веб-запрос.
Я могу либо повторить результат exe, либо изменить exe, чтобы сохранить его результаты в файл, а затем прочитать файл, чтобы повторить веб-запрос.
Проблема в том, что при использовании php под IIS все функции типа exec() shell_execute() system() выдают ошибку «Невозможно разветвить», потому что анонимный пользователь IIS IUSER_%COMPUTER_NAME% не имеет доступа к C:\windows\system32\cmd .EXE
Это можно исправить, изменив разрешения этого анонимного пользователя IIS для cmd.exe, но это значительно ослабляет безопасность (я полагаю).
Есть ли способ, которым я могу с помощью PHP-скрипта под IIS вызвать Exe, не открывая cmd.exe для анонимного пользователя IIS?
Помощь приветствуется.
Зачем мне это делать? У меня есть генератор серийных ключей, когда кто-то покупает мой продукт с помощью кредитной карты, мой платежный процессор должен вызывать URL-адрес, передавая имя лицензии в качестве параметра и возвращая серийный номер для этого имени лицензии.
Мой генератор лицензионных ключей - WinLicense, у меня есть exe.
Мне нужно запустить что-то вроде
shell_exec("C:\inetpub\wwwroot\test.com\testLicense.exe \"".$regName."\""); // или exec() или system()
(testLicense.exe сохраняет результат в файле, который мой php-скрипт может затем повторить)