PHP定時執行任務的3種方法詳解

2021-09-29 08:39:40 字數 2226 閱讀 7382

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--死迴圈

dowhile(true);

//方法2---sleep 定時執行

require_once'./curlclass.php';//引入檔案

$curl=newhttpcurl();//例項化

$stime=$curl->getmicrotime();

for($i=0;$i<=10;$i++)

ob_flush();

flush();

$etime=$curl->getmicrotime();

echo'';

echoround(($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 設定...