執行php任務,php網頁觸發執行定時任務

本文目錄一覽:

php定時執行任務的幾個方法

PHP定時執行的三種方式實現

1、windows 的計劃任務 2、linux的腳本程序 3、讓web瀏覽器定時刷新

具體實現

1、windows計劃任務

PHP很少在win伺服器上跑,具體實現也不再深究,看網上實現的原理大概是寫bat腳本,然後讓window任務添加執行這個bat腳本。

2、linux 的腳本實現

這裡主要使用到crontab這個命令,

使用方式 :

複製代碼 代碼如下:crontab filecrontab [ -u user ] [ -u user ] { -l | -r | -e }

說明 :

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{ echo ‘測試’.time().’br/’; sleep($interval);// 等待5s }while(true); //方法2—sleep 定時執行 require_once ‘./curlClass.php’;//引入文件 $curl = new httpCurl();//實例化 $stime = $curl-getmicrotime(); for($i=0;$i=10;$i++){ echo ‘測試’.time().’br/’; sleep($interval);// 等待5s } ob_flush(); flush(); $etime = $curl-getmicrotime(); echo ‘hr’; echo round(($etime-stime),4);//程序執行時間

測試的時候發現這個效率並不是很高。

總結:

個人感覺PHP定時執行任務的效率不是很高,建議關於定時執行任務的工作還是交給shell來做吧。

PHP後台任務運行

在運行前 先要了解一下 什麼是文件描述符。

什麼是文件描述符?

文件描述符是一個簡單的正整數,用以標明每一個被進程所打開的文件和socket。

最前面的三個文件描述符(0,1,2)分別與標準輸入(stdin),標準輸出(stdout)和標準錯誤(stderr)對應。

“21 file”和 ” file 21″區別?

1.php test.php 21 file :錯誤輸出到終端,標準輸出被重定向到文件file。

2.php test.php file 21 :標準輸出被重定向到文件file,然後錯誤輸出也重定向到和標準輸出一樣,所以錯誤也輸出到文件file。

nohup命令可以在用戶退出終端後仍然執行程序,

「21 /dev/null」表示不顯示標準輸出和錯誤輸出,

最後的表示推到後台執行。

如何在Win7下添加任務計劃執行php腳本文件

方法/步驟

1

這裡先說說winxp下的任務計劃設置步驟:

(1).開始;

(2).控制面板;

(3).任務計劃;

(4).添加任務計劃;

(5).瀏覽等操作。

2、在win7下,首先點擊開始;

3、點擊:管理工具;

4、點擊:任務計劃程序;

5、點擊:創建任務;

6、輸入任務名稱和描述;

7、滑鼠點擊,操作選項卡;

8、點擊:新建;

9、點擊瀏覽,並選擇要執行的腳本文件(比如這裡演示的是

testPHP.bat內容如下圖:

10、php內容如下圖:

11、最後點擊確定按鈕。

12、定時任務成功執行。

Windows中使用計劃任務自動執行PHP程序實例

所謂任務計劃就是由計算機自動調用用戶事先設置好的應用程序,從而達到簡化用戶操作的目的。利用Windows

2000的任務計劃程序(相當與*NIX下的cron程序,這裡不再對其詳述),我們可以安排任何腳本、程序或文檔在最恰當的時候運行,從而滿足自己的需要。下面以Windows

2000為例。

具體來說,我們若需利用任務計劃程序自動運行則應執行如下步驟:

單擊”開始”按鈕,然後依次選擇”程序”→”附件”→”系統工具”→”任務計劃”(或者是”設置”→”控制面板”→”任務計劃”),啟動Windows

2000的任務計劃管理程序。

在”任務計劃”窗口中雙擊”添加任務計劃”圖標,啟動系統的”任務計劃嚮導”,然後單擊”下一步”按鈕,在給出的程序列表中選擇需要自動運行的應用程序,然後單擊”下一步”按鈕。

設置適當的任務計劃名稱並選擇自動執行這個任務的時間頻率(如每天、每星期、每月、一次性、每次啟動計算機時、每次登錄時等),然後單擊”下一步”按鈕。

此時系統將會要求用戶對程序運行的具體時間進行設置,如幾號、幾點鐘、哪幾個時間段才能運行等,我們只需根據自己的需要加以設置即可。

接下來系統將會要求用戶設置適當的用戶名及密碼(如圖5所示),以便系統今後能自動加以運行。

最後,我們只需單擊”完成”按鈕即可將相應任務添加到Windows

2000的任務計劃程序中,此後它就會自動”記住”這個任務,一旦系統時間及相關條件與用戶設置的計劃相符,它就會自動調用用戶所指定的應用程序,十分方

便(每次啟動Windows

2000的時候,任務計劃程序都會自動啟動,並在後台運行,確保用戶的計劃能夠按時執行)。

現在我們來測試一下剛才所建的任務是否成功,滑鼠右鍵單擊”php”程序圖標(如圖6所示),在彈出的菜單裡面選擇”運行”。一般情況下程序圖標只要這樣

激活運行就可以正常啟動。如果運行失敗可查看用戶和密碼是否設置正確,還有確定”Task

Scheduler”服務是否已啟動,本人當初就是為了節省系統資源把它關掉了導致運行失敗,害我找了大半天。另外也可從”系統日誌”里查看到底是什麼原

因造成運行失敗的。

好了,講了這麼多任務計劃的應用,現在我們切入正題,下面將介紹兩個例子:

一、讓PHP定時運行

編輯如下代碼,並保存為test.php:

複製代碼

代碼如下:

?php

$fp

=

@fopen(“test.txt”,

“a+”);

fwrite($fp,

date(“Y-m-d

H:i:s”)

.

讓PHP定時運行吧!\n”);

fclose($fp);

?

php定時執行任務怎麼寫?

藉助crontab來編寫;

編寫定時執行腳本(單獨的一個php文件,或者某個方法);

配置crontab,指定執行路徑地址;

啟動crontab服務即可。

如何實現php定時執行任務,且時間是可配置的

linux下可以 crontab執行如(crontab -e編輯,crontab -l查看)0 1 * * * php test.php #每天01:00執行一次test.php*/5 * * * * php test.php #每5分鐘執行一次test.phpphp自身實現:可sleep實現

?php

function func()

{

//實現要做的事

}

while(true)

{

sleep($n);//$n為秒數

func();

}

?

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/197933.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-04 07:28
下一篇 2024-12-04 07:28

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • Saturn 定時任務用法介紹

    本文將從以下幾個方面對Saturn定時任務進行詳細的闡述: 一、Saturn 定時任務簡介 Saturn是一個分散式任務調度系統,支持在線添加、修改定時任務,支持多種任務類型,如J…

    編程 2025-04-29
  • python爬取網頁並生成表格

    本文將從以下幾個方面詳細介紹如何使用Python爬取網頁數據並生成表格: 一、獲取網頁數據 獲取網頁數據的一般思路是通過HTTP請求獲取網頁內容,最常用的方式是使用Python庫r…

    編程 2025-04-28
  • 網頁防篡改的重要性和市場佔有率

    網頁防篡改對於保護網站安全和用戶利益至關重要,而市場上針對網頁防篡改的產品和服務也呈現出不斷增長的趨勢。 一、市場佔有率 據不完全統計,目前全球各類網頁防篡改產品和服務的市場規模已…

    編程 2025-04-28
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • Python編程實戰:用Python做網頁與HTML

    Python語言是一種被廣泛應用的高級編程語言,也是一種非常適合於開發網頁和處理HTML的語言。在本文中,我們將從多個方面介紹如何用Python來編寫網頁和處理HTML。 一、Py…

    編程 2025-04-28
  • 如何在dolphinscheduler中運行chunjun任務實例

    本文將從多個方面對dolphinscheduler運行chunjun任務實例進行詳細的闡述,包括準備工作、chunjun任務配置、運行結果等方面。 一、準備工作 在運行chunju…

    編程 2025-04-28
  • Python爬取網頁信息

    本文將從多個方面對Python爬取網頁信息做詳細的闡述。 一、爬蟲介紹 爬蟲是一種自動化程序,可以模擬人對網頁進行訪問獲取信息的行為。通過編寫代碼,我們可以指定要獲取的信息,將其從…

    編程 2025-04-28

發表回復

登錄後才能評論