php定時執行的三種方式實現
具體實現
1、windows計畫任務
php很少在win伺服器上跑,具體實現也不再深究,看網上實現的原理大概是寫bat指令碼,然後讓window任務新增執行這個bat指令碼。
2、linux 的指令碼實現
這裡主要使用到crontab這個命令,
使用方式 :
複製**
**如下:
crontab filecrontab [ -u user ] [ -u user ]
說明 :
crontab是用來讓使用者在固定時間或固定間隔執行程式之用
使用crontab寫shell指令碼,然後讓php呼叫shell,這個是利用linux的特性,應該還不算php自身語言的特性
3、php實現定時執行計畫任務
使用php讓瀏覽器重新整理需要解決幾個問題
php指令碼執行時間限制,預設的是30m 解決辦法:set_time_limit();或者修改php.ini 設定max_execution_time時間(不推薦)
如果客戶端瀏覽器關閉,程式可能就被迫終止,解決辦法:ignore_user_abort即使關閉頁面依然正常執行
如果程式一直執行很有可能會消耗大量的資源,解決辦法使用sleep使用程式休眠一會,然後在執行
php定時執行的**:?
<?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);
//程式執行時間
測試的時候發現這個效率並不是很高。
總結:個人感覺php定時執行任務的效率不是很高,建議關於定時執行任務的工作還是交給shell來做吧。
php 定時執行任務
之於是否控制,可以做到的,應借用第三個條件 config.php return 1 cron.php ignore user abort 關掉瀏覽器,php指令碼也可以繼續執行.set time limit 0 通過set time limit 0 可以讓程式無限制的執行下去 interval 60...
PHP定時執行任務
php定時執行任務有兩種方式 一 linux 伺服器 linux原生支援crontab,所以可以利用這一功能做定時任務 步驟 1 編輯crontab檔案 linux crontab e 0 9 usr bin curl esc wq 儲存 二 windows伺服器 windows伺服器可以利用系統的...
PHP實現定時執行任務的方法
這篇文章主要介紹了php實現定時執行任務的方法,涉及到ignore user abort函式忽略指令碼終止的使用及sleep函式延緩執行等的應用,需要的朋友可以參考下 ignore user abort true 客戶端斷開時忽略指令碼中止 允許指令碼一直執行 set time limit 0 設定...