Запустите функцию php exec, чтобы остановить службы Windows

Я написал веб-программу на php, которая должна остановить службу Windows и запустить ее при запуске следующим образом:

 exec('net stop spooler'); //to stop printer spooler
 exec('net start spooler'); //to start printer spooler

приведенные выше коды не останавливают спулер принтера, и я думаю, я знаю почему, потому что, когда я открываю командную строку cmd-команды и набираю net start spooler я получаю отказ в доступе... но когда я открываю cmd - командную строку от имени администратора, командная строка будет работать, поэтому я думаю, что apache также нужно дать разрешение администратора, чтобы вышеуказанный код мог работать, но я не могу понять, как предоставить код для запуска от имени администратора.

служба Windows диспетчера очереди печати может быть найдена, когда вы нажимаете пуск> введите run> в команде run, введите services.msc, тогда вы увидите диспетчер очереди печати принтера в качестве одной из служб Windows... когда запускается приведенный выше код... он должен остановить это обслуживание или запускает его

1 ответ

В зависимости от настроек apache может потребоваться настроить apache для запуска с правами администратора.

  1. Перейдите в Панель управления-> Администрирование_> Службы

  2. Выберите сервис Apache и нажмите "Свойства"

  3. На вкладке Вход в систему попробуйте изменить его на администратора

  4. Перезапустите Apache

Но, как правило, это не обязательно лучшая идея для запуска Apache с таким высоким авторитетом.

Другие вопросы по тегам