在我的服务器上运行循环PHP脚本

在我的服务器上运行循环PHP脚本,php,apache,Php,Apache,我有一台运行着apache的windows电脑,我需要一个php脚本来持续运行,以侦听来自UDP端口的输入,并采取所需的操作并将其发送回去 我知道的唯一方法是为cmd安装curl,并使用WHILE循环运行php脚本。我担心的是,这是一种错误的方法,可能不可靠,并占用大量系统资源 人们能对上述方法发表评论吗?我听说过cron..但那只适用于unix?我能做什么?嘿,试试下面的解决方案。 使用bat文件并计划执行该bat文件 例如,在bat文件executeph.bat中,编写以下代码 c:\xam

我有一台运行着
apache
的windows电脑,我需要一个
php
脚本来持续运行,以侦听来自
UDP端口的输入,并采取所需的操作并将其发送回去

我知道的唯一方法是为
cmd
安装
curl
,并使用
WHILE循环运行
php脚本
。我担心的是,这是一种错误的方法,可能不可靠,并占用大量系统资源


人们能对上述方法发表评论吗?我听说过cron..但那只适用于unix?我能做什么?

嘿,试试下面的解决方案。 使用bat文件并计划执行该bat文件

例如,在bat文件
executeph.bat
中,编写以下代码

c:\xampp\php\php.exe -f c:\xampp\htdocs\do_something.php
保存包含该行的bat文件

转到windows scheduler并创建一个新的任务和“正在执行”选项卡,浏览到该executeph.bat的位置,并在“开始位置”->“直接”中指向拥有该executeph.bat的目录

例如,如果您将文件保存在
C:\xampp\htdocs
下,请将该
C:\xampp\htdocs
放在起始位置

请记住,即使用户未登录,也要调用脚本


一切都已设置好,它将毫无问题地执行。

Apache背后的PHP脚本将始终具有最长的执行时间,因此
while
-循环应始终在特定超时后停止

您最好使用cron或类似Venkat推荐的批处理脚本。有一些很好的cron服务,可以向服务器发出GET请求并运行脚本。请查看此相关线程:


这不符合您的需要吗?

我听说这可以通过windows任务调度器完成吗?但这不允许您说每分钟运行脚本。更糟糕的情况是,我必须用C#::编写我自己的调度应用程序(知道它能持续多长时间吗?我总是可以超时并重新打开它,但我想知道它到底能持续多长时间。看看PHP中的默认值30秒。对于Apache,它说:
“Apache有一个超时指令,IIS有一个CGI超时函数。两者都默认为300秒。”
我有一个问题。有没有办法调用文件打开?比如说,使用另一个系统的url链接。一旦用户调用它,它将以某种方式执行批处理文件。。?