win系统下将运行php文件的命令加入系统服务中

win系统下将运行php文件的命令加入系统服务中

我的需求是在tp5框架中加入一个workerman插件,配合redis的队列做了一个前台下单,后台即时收到你有一个新订单的功能。但是这个workerman使用是需要,运行一个服务的,写一个运行服务的php文件,但这个php文件使用命令行形式运行,如下图
win系统下将运行php文件的命令加入系统服务中
但是每次使用需要手动这样运行,非常麻烦,就想把这个操作做成一个bat脚本放到,windows系统服务里,让它开机就自动执行打开workerman服务。下面开始吧

  1. 新建一个.bat脚本文件,代码如下
    “D:\study\phpstudy\PHPTutorial\php\php-5.6.27-nts\php.exe” -f “D:\company\server.php”
    -f 前面的内容是相当于是我们命令行中php这个命令,因为我是用脚本运行,所有需要这个php命令的全路径,也是php.exe这个文件所在的目录全路径,-f后面的内容就是我们用命令行运行的那个php文件的全路径
  2. 这里就需要下载一个将bat文件加入到系统服务中的小软件nssm
    官网下载地址https://nssm.cc/download
    win10下载:https://nssm.cc/ci/nssm-2.24-103-gdee49fc.zip
    下载后解压到任意文件夹 把 nssm.exe 复制到系统的 System32 目录下
  3. 在nssm.php,我电脑是64位,就点击64位文件目录下,shift+鼠标右键,打开黑窗口
    win系统下将运行php文件的命令加入系统服务中
  4. 在黑窗口中使用这个命令nssm install ,如下图
    win系统下将运行php文件的命令加入系统服务中
    win系统下将运行php文件的命令加入系统服务中

win系统下将运行php文件的命令加入系统服务中
服务管理一些基本操作,其命令如下:
启动服务: nssm start
停止服务: nssm stop
重启服务: nssm restart

到这里就已经将使用bat脚本执行一个需要黑窗口才能运行的命令文件就搞定了,下次开机就直接使用workerman的功能了
win系统下将运行php文件的命令加入系统服务中