PHP計劃任務

來源:互聯網
上載者:User
我們知道Linux下PHP可以很方便的實現計劃任務,而Windows平台上PHP計劃任務的實現比較複雜,PHP計劃任務的實現在PHP WEB開發中是非常有用的,比如可以實現定時MysqlDatabase Backup、更新緩衝、資料擷取、定時產生靜態頁面等任務。而PHP ignore_user_abort函數可以實現當用戶端中斷(比如關閉遊覽器)後仍然繼續執行任務的功能。下面來看一段通過PHP ignore_user_abort函數實現PHP計劃任務的執行個體代碼。

  PHP計劃任務執行個體代碼

PHP Code 複製內容到剪貼簿

  PHP計劃任務執行個體說明:在上述代碼中主要功能是每隔15秒自動通過PHP檔案寫入操作在檔案中寫入一段文字,當使用者關閉遊覽器後仍然繼續執行。

  第2行:首先執行php ignore_user_abort函數,告知系統忽略使用者放棄行為繼續執行,PHP預設情況是當遠程用戶端串連中斷時指令碼會退出。通過php ignore_user_abort 函數來控制是否忽略使用者中斷行為繼續執行PHP代碼。

  知識點:ignore_user_abort(setting) setting 可選。如果設定為 true,則忽略與使用者的斷開,如果設定為 false,會導致指令碼停止運行。如果未設定該參數,會返回當前的設定。

  第3行:不限制PHP的指令碼已耗用時間。我們知道預設PHP指令碼運行都是有時間限制的,一般通過PHP.INI設定檔中的max_execution_time選項設定。通過PHP set_time_limit函數可以更改具體時間,設為0則代表不限制時間。

  第4行:設定具體間隔時間,以秒為單位。

  第5-21行:主要是不間斷地以間隔時間為單位執行一次PHP檔案寫入操作。

  PHP計劃任務注意事項說明:在遊覽器中執行這段PHP代碼後,除非中斷WEB伺服器或者關閉系統,否則後台將一直以設定的間隔時間執行這段代碼。

  至此,通過PHP ignore_user_abort函數實現PHP計劃任務功能的執行個體教程就介紹完了,通過瞭解這個執行個體的實現原理,你就可以知道很多PHP部落格中的定時Database Backup、定時產生靜態頁面等功能是如何?的。

使用ignore_user_abort()實現php檔案能夠在瀏覽器關掉之後照樣運行。

當然,要想使程式一直執行,還必須加上set_time_limit(0);

Linux 下有種更簡單的方法,就是crontab命令

crontab命令的功能是在一定的時間間隔調度一些命令的執行。

crontab 使用方法: crontab [ -e | -l | -r ] 檔案名稱 -e:編輯任務 -l:顯示任務資訊 -r:刪除定時執行任務資訊

crontab的格式:

* * * * * Command

分 時 日 月 星期 要啟動並執行命令

crontab的例子:

*/5 * * * * lynx http://www.php100.com

每5分鐘訪問一次 www.php100.com

0 8 * * * lynx http://www.php100.com

每天早上8點訪問 www.php100.com

0 10 6 * 1-5 lynx http://www.php100.com

每個月的6號和每個禮拜的星期一到星期五的早上10點訪問 www.php100.com

0 5 7 8 * lynx http://www.php100.com

8月7日早上5點訪問 www.php100.com

上面幾個特殊的意思:

"*"代表所有的取值範圍內的數字,"/"代表每的意思,"*/5"表示每5個單位,"-"代表從某個數字到某個數字,","分開幾個離散的數字。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.