#php #windows #exec
#php #Windows #exec
Вопрос:
У вас есть php
веб-приложение, установленное на настольном компьютере с Windows и используемое локально.
Как вы могли бы открыть приложение (скажем notepad.exe
), когда пользователь обращается к определенной веб-странице?
Конечно, exec
работает для приложений командной строки, но не для графических, поскольку команды выполняются от имени пользователя php / apache.
Итак, вопрос можно было бы перефразировать как как можно использовать exec
от имени другого пользователя?
Комментарии:
1. В Windows есть
runas
команда для этого.
Ответ №1:
На самом деле, это было намного проще, чем я думал.
Вам просто нужно поставить галочку «Разрешить этой службе взаимодействовать с desktop» для службы Apache на панели конфигурации служб, и приложения, открытые через php, будут открыты для пользователя.
Ответ №2:
Я предполагаю, что вы хотите открыть notepad.exe с вашего веб-сервера для текущего пользователя.
Я сомневаюсь, что это когда-либо сработает, поскольку PHP запускается от имени другого пользователя. Это также означает, что веб-сервер должен быть установлен на компьютере, который использует пользователь, и запускаться с него.
Что вы можете сделать, так это открыть в браузере блокнот. Свяжите расширение файла с notepad в вашем браузере («Всегда открывайте файл этого типа с помощью …» или что-то в этом роде).