我已经编写了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"命令解决了这个问题,说明在这里找到