php定時任務

2021-08-11 11:46:40 字數 1142 閱讀 4927

php中執行定時任務有兩種情況,一種是直接在linux伺服器上直接建立cron服務,一種是在瀏覽器中執行。

在linux中時間是寫死的,不能靈活變動。

在瀏覽器中執行比較靈活,比如開啟乙個網頁後,從開啟此網頁開始,每十秒傳送乙個資訊到手機端… 當要實現這樣的需求時,用cron服務就不太理想啦!

此篇主要說一下第二種,怎麼在瀏覽器中觸發定時任務。

主要用到的乙個php函式:sleep() 此函式延遲**執行若干秒。

語法: sleep(seconds) —若成功,返回 0,否則返回 false。如果指定的描述 seconds 是負數,該函式將生成乙個 e_warning。

例子:

<?php

echo date('h:i:s') . "

";//暫停 10 秒

sleep(10);

//重新開始

echo date('h:i:s');

//輸出結果:

//12:06:08

//12:06:18

?>

用此函式來做定時任務很簡單,將其應用到 迴圈中 就能實現。

但是會遇到乙個問題:php程式執行會超時

php.ini 中預設的最長執行時間是 30 秒,這是由 php.ini 中的 max_execution_time變數指定,倘若你有乙個需要頗多時間才能完成的工作,例如要傳送很多電子郵件給大量收件者,或者要進行繁重的資料分析工作,伺服器會在 30秒後強行中止正在執行的程式

第一種方法是修改 php.ini 中 max_execution_time 的數值,不過不是所有人都有權修改 php.ini。(修改後記的重啟服務)

第二種方法是在 php 程式中加入 ini_set(『max_execution_time』, 『0』),數值 0 表示沒有執行時間的限制。如果程式仍在測試階段,推薦將時間設定乙個數,避免程式錯誤導致伺服器宕機。

第三種辦法是在 php 程式中加入set_time_limit();來設定頁面最久執行時間.

set_time_limit(0);//0表示沒有限制

這樣,這個簡單的定時任務就可以實現啦!

php 定時任務

crontab第一次使用真是個坑 crontab e 問題 第一次使用crontab 時,會出現 no crontab for root using an empty one select a editor 下面有幾個選項,就是叫你選擇編輯器。選3就可以了。如果你選錯了 可以輸入命令 select ...

PHP定時任務

ignore user abort 即使client斷開 如關掉瀏覽器 php指令碼也可以繼續執行.set time limit 0 執行時間為無限制,php預設的執行時間是30秒,通過set time limit 0 可以讓程式無限制的執行下去 interval 60 5 每隔5分鐘執行 dowh...

PHP 之 定時任務

1.定時任務服務提供crontab命令來設定服務 2.crontab e 編輯某個使用者的cron的服務 3.crontab l 列出某個使用者cron服務的詳細內容 4.crontab r 刪除某個使用者的cron服務 想獲取video中 6條資料 require once db.php requ...