将PHP脚本设置为Windows服务
我需要将PHP脚本设置为Windows服务。
无论哪个用户登录,我都需要它运行,以及在系统启动时都运行-所以听起来Windows服务是最好的,但是很高兴听到其他建议。
(此脚本连续运行,这不是我可以使用“计划任务管理器”执行的“每5分钟运行一次”。)
涵盖了使用sc.exe程序来安装服务。
但是,根据我的阅读,我需要对PHP脚本进行包装,以接受来自Windows服务管理器的特殊命令。有人能帮忙吗?
回答:
也许资源工具包工具(特别是srvany.exe)可以在这里为您提供帮助。MSDN:如何创建用户定义的服务以及有关2008Server的提示可能应帮助您将_任何_ 可执行文件设置为服务。(我已经在Windows 2003 Server,Windows2008Server和Windows XPProfessional 不过是其他资源工具包]上成功使用了此功能
您将创建一个包含的蝙蝠php your-script.php
,用srvany.exe和voila对其进行包装,一旦计算机加载了服务,便会启动该脚本。
srvany.exe应该处理那些希望守护程序执行的启动/停止/重新启动调用。它将在启动时加载可执行文件,在停止时终止进程,在重新启动时都执行。因此,您不必担心这部分。您可能想检查register_shutdown_function()是否可以帮助确定服务进程何时终止。
您甚至可以定义对其他服务的依赖关系(例如某些数据库等)。
Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\THENAMEOFYOURSERVICE]
"DependOnService"="DEPENDONTHIS"
用THENAMEOFYOURSERVICE
您提供的服务DEPENDONTHIS
名称和要依赖的服务名称替换(例如“
Postgres9.0”或其他名称)。将该文件保存到dependency.reg
并使用加载regedit /s
dependency.reg。(或在资源管理器中双击它……)
以上是 将PHP脚本设置为Windows服务 的全部内容, 来源链接: utcz.com/qa/431297.html