我已经写了php程序并上传到服务器上。我想无限地运行这个程序。我的程序来源是这样的:
<?php
while (1<2){
make something;
}
?>
当然,如果我将在浏览器中打开此页面,它将运行,但如果我将关闭我的电脑,它将停止工作。如何在不打开任何浏览器的情况下无限运行此程序。
答案 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
的说明