运行php exec函数以停止windows服务

运行php exec函数以停止windows服务,php,printing,windows-services,uac,administrator,Php,Printing,Windows Services,Uac,Administrator,我已经用php编写了一个web程序,需要停止windows服务并在运行时启动它,如下所示: exec('net stop spooler'); //to stop printer spooler exec('net start spooler'); //to start printer spooler 上面的代码没有停止打印机后台打印程序,我想我知道原因,因为当我正常打开cmd-命令提示符并键入net start spooler时,我会拒绝访问…但当我以管理员身份打开cmd-命令提示符时,

我已经用php编写了一个web程序,需要停止windows服务并在运行时启动它,如下所示:

 exec('net stop spooler'); //to stop printer spooler
 exec('net start spooler'); //to start printer spooler
上面的代码没有停止打印机后台打印程序,我想我知道原因,因为当我正常打开cmd-命令提示符并键入
net start spooler
时,我会拒绝访问…但当我以管理员身份打开cmd-命令提示符时,命令行会工作,因此,我认为apache还需要获得管理员权限,以便上面的代码可以工作,但我不知道如何授予代码以管理员身份运行


当您在run命令类型服务中单击start>type run>时,可以找到打印机后台打印程序windows服务。msc然后您将看到打印机后台打印程序作为windows服务之一…当上述代码运行时…它应该停止或启动该服务取决于您的apache设置,您可能需要将apache设置为以管理员身份运行

  • 转到控制面板->管理工具->服务

  • 选择Apache服务并点击属性

  • 在“登录”选项卡上,尝试将其更改为“管理员”

  • 重新启动Apache


  • 但一般来说,以如此高的权限运行apache未必是最好的主意。

    您的诊断听起来很准确,引入正确的凭据应该可以解决问题。这可能在ServerFault.com上得到更好的解决,因为它与平台安全性相关,而不是编程。