我需要将PHP脚本设置为windows服务。
我需要它运行,无论哪个用户登录,并在系统启动时-所以它听起来像是一个windows服务是最好的,但我很高兴听到其他建议。
(这个脚本是连续运行的,它不是“每5分钟运行一次”,我可以使用Scheduled Task Manager。)
http://support.microsoft.com/kb/251192涵盖了使用sc.exe程序安装您的服务。
但是根据我所读到的,我需要在PHP脚本周围有一个包装器来接受来自windows服务管理器的特殊命令。有人能帮上忙吗?
发布于 2011-05-10 23:54:02
我们使用FireDaemon来完成这个任务,它不需要包装器脚本等。不幸的是,它不是免费的。
发布于 2011-10-29 22:32:23
通过给出不同的参数和脚本文件作为参数,你可以在命令行上运行php。如果您将所需的整行添加到服务配置中,它应该会运行。因此,您还可以在创建服务之前尝试该设备。如果php-script在您的web-route之外,也许您应该将该文件夹添加到windows的PATH-Variable中。
发布于 2012-01-03 01:01:40
我找到了这个,但我自己还没有试过。实际上,PHP附带了一些函数来实现这一点:http://uk.php.net/manual/en/book.win32service.php
以下是一些示例:http://uk.php.net/manual/en/win32service.examples.php
<?php
if ($argv[1] == 'run') {
win32_start_service_ctrl_dispatcher('dummyphp');
while (WIN32_SERVICE_CONTROL_STOP != win32_get_last_control_message()) {
# do your work here.
# try not to take up more than 30 seconds before going around the loop
# again
}
}
?>
https://stackoverflow.com/questions/5952500
复制相似问题