資料載入中

胡言亂語

php定時執行任務ignore_user_abort() 函式

ignore_user_abort() 函式
PHP 4, PHP 5, PHP 7

最近剛好有一個專案需要定時執行任務功能,原本一開始想到的是在伺服器上設定時間排程。

但由於網站空間的設定權限並不一定可以拿到,所以Google了一下關於php方面執行定時任務的方式資訊。

剛好看到了ignore_user_abort() 函式。並通過以下設定來達到我要的定時執行任務功能:
ignore_user_abort();//關掉瀏覽器,PHP腳本也可以繼續執行。
set_time_limit(0);// 通過set_time_limit(0)可以讓程序無限制的執行下去。
$interval=60;// 每隔60秒運行。

然後透過死循環方式
do{
//這邊置入想要執行的任務
sleep($interval);// 等待60秒
}while(true);

但由於這種方式很耗系統資源,所以建議僅使用於簡單任務。
連結網址
以上紀錄
 

  • ignore_user_abort() 函式的使用方法
  • PHP 定時執行任務的技巧
  • 網站空間設定權限的限制
  • 死循環方式的系統資源消耗
  • 簡單任務的定時執行建議
https://innstory.com/story-php定時執行任務ignoreuserabort函式-2055

上一篇
 在PHP中通過POST發送JSON

下一篇
WordPress如何關閉迴響留言功能? 

發表留言

  • Peter Chang

    使用 `ignore_user_abort()` 來處理定時任務,確實是一個選擇。不過,死循環的方式要小心,會影響伺服器效能。
    2026-03-28 下午 8 點回覆

作者簡介

離不開電腦的宅男


推薦閱讀

作者其他相關類別故事

使用PHP取得目前網址方式

使用PHP取得目前網址方式

Mark Chang 8 年又 59 天 2.2K

使用PHP取得網址相關的方式有下列幾種: 以下修改,是為了資安。 老了,純粹只是記錄~

php在windows系統下無法使用mb_send_mail寄信

php在windows系統下…

Mark Chang 6 年又 54 天 2.1K

首先,mbsendmail是php所提供可用來發送編碼的郵件。 一般來說會導致無法發送郵件大部分原因...

PHP使用array_product函數求得陣列中的乘積

PHP使用array_pro…

Mark Chang 3 年又 341 天 1.4K

arrayproduct()是PHP中的一個內建函數,可以返回陣列中所有元素的乘積。 例如 若想要...