ブラウザが切断された後も php コードが実行し続けられることを願っていますが、多くの方法を試しましたが、うまくいきません
1. シンプルで直接的かつ無謀なタイプ
1
2
3
4
5
6
7
8
9
10
<?php
ignore_user_abort();// を閉じますブラウザ、PHP スクリプトも使用可能 実行を継続
set_time_limit(0); // set_time_limit(0) により、プログラムを制限なく実行できます
ini_set('memory_limit',' 512M'); // メモリ制限を設定します
$interval=60*30;//30 分ごとに実行します
do{
//ToDo
sleep($interval); // 5 分間待ちます
}
while(true);
欠点:起動後は PHP ホストを終了しない限り制御できません。ハッカーでない限りこの方法は使用しないでください。
2. シンプルで制御可能
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
config.php
<?php
return 1;
?>
cron.php
ignore_user_abort();//ブラウザを閉じると、PHP スクリプトの実行を続行できます。
set_time_limit(0);//プログラムはset_time_limit(0)
$interval=60*30;//30 分ごとに実行
do{
$run = include 'config.php ';
if (!$run) die('プロセス中止');
//ToDo
sleep($interval);/ /Wait for 5 minutes
}
while(true);
設定の return 0 を変更してプログラムを停止します.php. 実現可能な方法は次のとおりです config.php ファイルは特別なフォームと対話し、HTML ページでいくつかの変数を設定することによって構成します
欠点: システム リソースを消費し、実行時間が長いため、思わぬ隠れた危険を引き起こす可能性があります。たとえば、メモリ管理の問題です。
##3. 単純な改良型##1
#23456789 < ;?php$time=15;$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];/* function*/sleep($time);file_get_contents($url);? > php スクリプト スリープは、一定期間経過後に自身にアクセスすることで実行を継続します。ちょうど駅伝のように。これにより、各 PHP スクリプトが確実に実行されます。 phpファイルの各ループが独立して実行されるため、time_outの制限を回避できる方法ですが、上記と同じにするのがベストです。プロセスを終了できるように制御コード cofig.php を追加します。上記の方法はテスト後は役に立ちません。コードは数分間実行しても自動的に停止します。個人的には 24 時間実行できることを望んでいます。他の方法はありますか?それとも、コードを時々実行できるように、Web ページを自動的に開くサービスを提供できる Web サイトはありますか?
爬虫類になりたいですか?ページングジャンプを作成し、実行後に次のページにジャンプすることができます。
Windows のスケジュールされたタスクを試すことができます
php はこれには適していません