原文:php定時執行計畫任務
摘要:php不支援多執行緒,有時候處理問題不是那麼爽,今天談論一下php定時執行的方法
1、windows 的計畫任務
2、linux的指令碼程式
3、讓web瀏覽器定時重新整理
php很少在win伺服器上跑,具體實現也不再深究,看網上實現的原理大概是寫bat指令碼,然後讓window任務新增執行這個bat指令碼,具體可以參考:
這裡主要使用到crontab這個命令,
使用方式:
crontabfilecrontab [ -u user ] [ -u user ]
說明:
crontab是用來讓使用者在固定時間或固定間隔執行程式之用
使用crontab寫shell指令碼,然後讓php呼叫shell,這個是利用linux的特性,應該還不算php自身語言的特性
可以參看:
如果客戶端瀏覽器關閉,程式可能就被迫終止,解決辦法:ignore_user_abort即使關閉頁面依然正常執行
如果程式一直執行很有可能會消耗大量的資源,解決辦法使用sleep使用程式休眠一會,然後在執行
php定時執行的**:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
ignore_user_abort();
//關掉瀏覽器,php指令碼也可以繼續執行.
set_time_limit(3000);
// 通過set_time_limit(0)可以讓程式無限制的執行下去
$interval
=5;
// 每隔5s執行
//方法1--死迴圈
do
while
(true);
//方法2---sleep 定時執行
require_once
'./curlclass.php'
;
//引入檔案
$curl
=
new
httpcurl();
//例項化
$stime
=
$curl
->getmicrotime();
for
(
$i
=0;
$i
<=10;
$i
++)
ob_flush();
flush
();
$etime
=
$curl
->getmicrotime();
echo
''
;
echo
round
((
$etime
-stime),4);
//程式執行時間
1
測試的時候發現這個效率並不是很高,
個人感覺php定時執行任務的效率不是很高,建議關於定時執行任務的工作還是交給shell來做吧,比較那才是王道。
PHP定時執行計畫任務
摘要 php不支援多執行緒,有時候處理問題不是那麼爽,今天談論一下php定時執行的方法 1 windows 的計畫任務 2 linux的指令碼程式 3 讓web瀏覽器定時重新整理 php很少在win伺服器上跑,具體實現也不再深究,看網上實現的原理大概是寫bat指令碼,然後讓window任務新增執行這...
PHP定時執行計畫任務
3 讓web瀏覽器定時重新整理 php很少在win伺服器上跑,具體實現也不再深究,看網上實現的原理大概是寫bat指令碼,然後讓window任務新增執行這個bat指令碼,具體可以參考 這裡主要使用到crontab這個命令,使用方式crontabfilecrontab u user u user 說明c...
定時執行計畫任務
第一種方式 直接使用php.exe來執行單個php指令碼 crontab e 編輯乙個計畫任務進入到編輯介面 分 時 日 月 周 usr local php bin php f usr local nginx html a.php 其中 usr local php bin php 這是php.exe...