0

私はphpプログラムを書いてサーバーにアップロードしました。このプログラムを無限に実行したい。私のプログラムのソースは次のようなものです:

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

もちろん、このページをブラウザで開くと実行されますが、PC をシャットダウンすると動作しなくなります。どのブラウザでも開かずに、このプログラムを無限に実行する方法を教えてください。

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

コマンドラインで実行するか、cronジョブとして実行します。phpファイルがシステムデーモンになっていることを確認することもできます。

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

PHPをデーモンとして使用すると、PHPを無期限に実行できますが、メモリをスタックしないように、定期的にリセットする必要がある場合があります。

ところで:

while( true )

も動作します。

于 2012-06-28T13:02:02.043 に答える
0

LinuxサーバーでJavaプログラムを無限に実行するときに、これと同じ問題が発生しました。

Linuxの「screen」コマンドを使用して問題を解決しました。手順はここにあります

于 2012-11-15T01:55:33.223 に答える
0

popen()新しいコマンドライン プロセスを開始するスクリプトを開始できます。したがって、目的のスクリプトを使用して CLI PHP を開始します。

于 2012-06-28T13:04:53.303 に答える
0

デーモン (サービス) を使用できますが、スクリプトを実行する必要があります。説明はこちら

于 2012-06-28T13:05:14.923 に答える