如何在我的服务器上无限运行php程序

时间:2012-06-28 12:59:38

标签: php infinite

我已经写了php程序并上传到服务器上。我想无限地运行这个程序。我的程序来源是这样的:

<?php
while (1<2){
make something;
}
?>

当然,如果我将在浏览器中打开此页面,它将运行,但如果我将关闭我的电脑,它将停止工作。如何在不打开任何浏览器的情况下无限运行此程序。

6 个答案:

答案 0 :(得分:4)

这样做:

<?php
    set_time_limit(0);
    ignore_user_abort(true);
    while(true) {
        //Do something
    }
?>

但如果没有非常非常好的理由,这是一个非常非常糟糕的主意。 您可以在CLI中运行这种脚本并使用SIGINT或SIGKILL来确保在不重新启动Apache服务器的情况下停止脚本...(为什么我只是解释一下?不要做人,它&#39;危险......)

答案 1 :(得分:3)

在命令行中运行或作为cronjob运行;你也可以检查一个php文件是一个系统守护进程:

http://kevin.vanzonneveld.net/techblog/article/create_daemons_in_php/

使用PHP作为守护程序允许您使其无限期运行,但是您可能必须定期重置它以确保它不会堆栈内存。

顺便说一下:

while( true )

也可以。

答案 2 :(得分:1)

你可以试试这个 -

<?php
    while(1) {
        "some code"
    }
?>

答案 3 :(得分:0)

您可以使用popen()启动脚本,从而启动新的命令行进程。因此,您将使用所需的脚本启动CLI PHP。

答案 4 :(得分:0)

你可以使用deamons(服务),必须运行脚本。 description here

答案 5 :(得分:0)

我在linux服务器上无限地运行java程序遇到了同样的问题。

我使用linux'screen'命令解决了这个问题,找到了here

的说明