0

我有一个 PHP 脚本可以轮询数据库,检查新条目,如果找到新条目,则向 iOS 设备发送推送通知。

我目前设置了 php 脚本,因此如果您不断刷新页面,它会执行我想要的操作。我还可以设置 php 或 javascript 刷新并打开页面,但如果我正在使用远程服务器并且无法判断哪些程序已打开或何时重新启动,那将不是很有效。

我认为 Windows 服务将是解决我的问题的最佳方案,但我不确定如何将 php 脚本编译成 Windows 服务。

有人有什么建议吗?最坏的情况,我想我可以用 C# 编写所有内容,然后用它制作一个 Windows 服务,但我确信有更简单的方法。

4

3 回答 3

0

我的解决方案是使用 FireDaemon 程序(AlwaysUp 是一个替代方案)。我手动将 PHP 安装到 C:\PHP 并将任务设置为运行

C:\PHP\php.exe C:\pathtophp\file.php
于 2013-10-27T21:26:55.933 回答
0

尝试使用 Windows 任务计划程序。它不像 unix 系统上的 cron 那样强大,但它会帮助你。在这里您可以找到有关它的更多信息 如何在计划任务中运行 PHP 文件(Windows 任务计划程序)

如果您(想要)从 Web 访问您的脚本,您可以使用带有 wget 的 Windows 任务计划程序,例如使用下一个路径创建新任务:wget.exe -O - -q -t 1 http://www.your-网站.com/cron.php。当然,您必须将 wget 安装到本地服务器。

于 2013-10-26T22:25:39.787 回答
0

在 Windows 中

您可以使用 nssm.exe(非吸吮服务管理器)。在此处下载https://nssm.cc/

首先,创建轮询数据库的 php 脚本:

<?php

/// script.php

while(true){
   //do some stuff here

   sleep(5); //wait for 5 seconds 
}

?>

然后在控制台输入这个命令

nssm.exe install <service-name>

之后,在 Nssm 服务安装程序中

  1. 在路径字段中,写下您的路径php.exe
  2. 在启动目录中,写下您的 php 脚本或工作目录的位置
  3. 最后,在参数字段中,写script.php

然后单击按钮安装服务。您现在可以检查您的服务windows service

于 2019-10-23T23:58:37.897 回答