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


how run php program infinitely on my server

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

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

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

这样做:

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

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

在命令行中运行或作为 cronjob 运行;您还可以检查是否使 PHP 文件成为系统守护进程:

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

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

顺便一提:

while( true )

也确实有效。

你可以试试这个 -

<?php
    while(1) {
        "some code"
    }
?>
您可以使用

popen()启动脚本,这将启动一个新的命令行进程。因此,您将使用所需的脚本启动CLI PHP。

你可以使用deamons(服务),必须运行脚本。 描述在这里

我在Linux服务器上无限运行Java程序时遇到了同样的问题。

我通过使用linux"screen"命令解决了这个问题,说明在这里找到