Запуск shell_exec от имени другого пользователя в Windows - PullRequest
1 голос
/ 22 декабря 2010

Я чувствую, что близок к ответу, но я не совсем там.У меня есть программа командной строки, которую я вызываю из PHP.Я использую shell_exec (), и он запускается на компьютере под управлением Windows, на котором работает сервер Apache.

Когда я запускаю сценарий, я вижу в диспетчере задач на компьютере под управлением Windows, что процесс запущен, а затем быстро прекращает выполнениечто-нибудь.Процесс все еще выполняется, но он занимает около 17 МБ пространства, а затем скрипт PHP просто загружается.

Программа небольшая (3 МБ), и она может обрабатывать файлы значительно большего размера, и этов настоящее время обрабатывается только один файл размером 28 КБ.Когда я звоню любому из командной строки как «администратор», они работают нормально.Когда я вызываю это из shell_exec, это не так.Я также пробовал exec () и passthru ().

Я заметил, что когда PHP вызывает программу, она появляется под пользователем SYSTEM.Я проверил разрешения на вкладке «Безопасность» как программы, так и файла, обрабатываемого программой, и SYSTEM, Users и Administrators все имеют полный контроль над ними.

Что я делаю не так?

Если мне нужно запустить его как «администратор» вместо SYSTEM, как мне это сделать?

Я могу уточнить, если у вас есть вопросы.

Большое спасибо,это убивает меня!

Ответы [ 2 ]

1 голос
/ 02 марта 2011

Пожалуйста, проверьте, не отключен ли безопасный режим в конфигурации PHP.Если безопасный режим включен, вы можете выполнять исполняемые файлы только в пределах safe_mode_exec_dir.Чтобы отключить safe_mode, откройте файл php.ini в текстовом редакторе и выполните поиск «safe_mode».Убедитесь, что он выключен (т.е. safe_mode = Off)

Также, пожалуйста, попробуйте другие функции выполнения Программы, такие как system ().Ссылка здесь Сервер Apache работает как параметр пользователя / группы в файле httpd.conf

0 голосов
/ 27 апреля 2012

У меня была похожая проблема.

Мое решение:
Просто запустите службу Apache2 с учетными данными администратора

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...