0

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

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

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

4

6 回答 6

5

做这个:

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

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

于 2012-06-28T13:06:30.227 回答
4

在命令行中运行或作为 cronjob 运行;您还可以检查是否将 php 文件设置为系统守护程序:

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

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

顺便一提:

while( true )

也可以。

于 2012-06-28T13:02:02.043 回答
1

你可以试试这个——

<?php
    while(1) {
        "some code"
    }
?>
于 2015-01-31T04:12:25.790 回答
0

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

于 2012-06-28T13:04:53.303 回答
0

您可以使用守护程序(服务),必须运行脚本。描述在这里

于 2012-06-28T13:05:14.923 回答
0

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

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

于 2012-11-15T01:55:33.223 回答