starting and stopping a windows service using a php script without win32service

Nokia 发表于 2016/12/13 20:30 | 显示全部楼层 |阅读模式
如果服务器以Windows服务的方式运行PHP,比如Apache,那么在PHP脚本中是无法直接执行net stop XX和net start XX命令的,要想直接在php中操作Windows Service,可以有以下几种方法。
  • 安装win32service扩展,然后使用win32_start_service()和win32_stop_service()分别启动或关闭Windows服务
  • 在命令行方式运行PHP,可以使用PHP内置的Development Server php -n -f xx.php 或者php -S 127.0.0.1:80 -t
  • 在没有w32service扩展的情况下,在php脚本中使用sc start XX或者sc stop XX分别启动或关闭Windows服务
    需要注意的是使用win32service的缺点在于需要安装扩展,扩展的更新速度不一定能够跟上php的版本
  • net start/stop命令和sc start/stop命令都可以分别用来启动和关闭服务,不同之处在于sc命令不会等待,命令一发出就继续往后面执行,net命令会等待相应操作执行完毕以后才会继续往后面执行,可以使用Windows系统自带的timeout命令让脚本等待一段时间,也可以用PHP的sleep()命令来等待。

手机版|轻松E站

E-mail: OHCC@163.COM

快速回复 返回顶部 返回列表