是否可以运行PHP脚本以便它可以全天候工作,如果发生崩溃或者只是重新启动了什么?它不应该在浏览器中打开,但不管怎样,服务器端都像cron那样......它在Windows服务器上。
答案 0 :(得分:0)
运行两个脚本 - 每个脚本将检查第二个脚本是否还活着:-) - 并关闭php.ini中的时间限制
答案 1 :(得分:0)
每隔n
分钟运行一个脚本。它应该做的第一件事是检查它是否已经在运行。如果是,则退出新脚本。
检查完成后,执行一些操作来标记脚本的存在。标准是将pid
写入指定位置。然后检查功能可以:
pid
文件是否存在。没有文件,没有正在运行的脚本。pid
是否正在运行。没有正在运行的pid
,没有正在运行的脚本。您可能会对正在运行的文件产生误报。例如,您的脚本的pid
为12345.当它死亡时,系统已循环遍历所有可能的pid
。现在,另一个进程正在使用pid
12345.pidfile将包含'12345';您的脚本将验证具有该编号的进程是否正在运行,请参阅新进程,并假设您的脚本正在运行。
可能有办法解决这个问题,但我不知道。
答案 2 :(得分:0)
是的可能 - 但标准引用计数内存管理器无法处理复杂的对象链接。您可能需要重新编译才能启用循环引用检查垃圾收集器。
更好的解决方案是运行一个快速完成的脚本 - 并使用调度程序经常运行它(但要考虑如果实例在前一个实例完成之前启动它将如何表现)。
或者,您可能希望在HTTP请求触发的随机基础上处理所需的处理 - 但是在HTTP请求的同步部分完成之后(请阅读有关垃圾收集在会话管理中的工作方式)。
了解脚本的用途会很有帮助。
答案 3 :(得分:-1)
在Windows服务器上,您将不会创建cron作业,相当于任务计划程序,可用于自动运行脚本。
像其他已经说过的帖子一样,创建一个可以运行很短时间的PHP脚本,但是可以在一小时左右调用一次是最好的方法。如果你真的需要一个真正全天候运行的程序,你需要一些方法来编译你的代码到二进制。最好的选择是C ++或Java。