Jam*_*mes 18 php windows windows-services
我需要将PHP脚本设置为Windows服务.
我需要它运行,无论登录哪个用户,并在系统启动 - 所以它听起来像一个Windows服务是最好的,但我很高兴听到其他建议.
(这个脚本连续运行,它不是"每5分钟运行一次"的事情,我可以使用预定任务管理器.)
http://support.microsoft.com/kb/251192介绍了如何使用sc.exe程序安装您的服务.
但是根据我的阅读,我需要在PHP脚本周围有一个包装器来接受来自Windows服务管理器的特殊命令.有人能帮忙吗?
rod*_*ehm 13
也许资源工具包工具(特别是srvany.exe)可以在这里帮助你.MSDN:如何创建用户定义的服务,可能这个2008 Server的提示应该可以帮助您将任何可执行文件设置为服务.(我已成功在Windows 2003 Server,Windows 2008 Server和Windows XP Professional [其他资源工具包]上使用此功能)
你创建了一个bat,包含php your-script.php
,用srvany.exe包装,瞧,一旦机器加载服务,脚本就会启动.
srvany.exe应该处理那些你期望守护进程执行的启动/停止/重启调用.它会在启动时加载你的可执行文件,在停止时终止进程,在重启时执行这两个操作.所以你不必担心这部分.您可能想要检查register_shutdown_function()是否可以帮助确定服务进程何时被终止.
您甚至可以定义与其他服务(例如某些数据库或某些服务)的依赖关系.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\THENAMEOFYOURSERVICE]
"DependOnService"="DEPENDONTHIS"
Run Code Online (Sandbox Code Playgroud)
替换THENAMEOFYOURSERVICE
为您提供服务DEPENDONTHIS
的名称以及要依赖的服务名称(例如"Postgres9.0"或其他内容).将该文件保存到dependency.reg
并加载它regedit /s dependency.reg
.(或者在资源管理器中双击它...)