Я написал веб-программу на 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 … при запуске приведенного выше кода … он должен остановить это обслуживание или запускает его
В зависимости от настроек apache может потребоваться настроить apache для запуска с правами администратора.
Перейдите в Панель управления-> Администрирование_> Службы
Выберите сервис Apache и нажмите «Свойства»
На вкладке Вход в систему попробуйте изменить его на администратора
Перезапустите Apache
Но, как правило, это не обязательно лучшая идея для запуска Apache с таким высоким авторитетом.
Других решений пока нет …