首頁  >  文章  >  後端開發  >  php實作Windows任務計畫定時執行的程式碼以及擴充(圖)

php實作Windows任務計畫定時執行的程式碼以及擴充(圖)

黄舟
黄舟原創
2017-11-14 10:07:242396瀏覽

任務計劃在我們的日常工作開發中,有很大用處、有時專案需要大批量的資料更新插入資料庫中,那麼我們為了能夠節約資源,需要定時時間段進行自動計算,為此,我們就需要php計畫任務來實現,那麼我們今天就給大家介紹php實現Windows任務計畫定時執行!

此外在網路上找了這類似問題的解決方法後,還可用PHP的ignore_user_abort()函數,這個函數還沒使用過,PHP官網是這樣介紹的

int ignore_user_abort ([ string $value ] )

設定客戶端斷開連線時是否中斷腳本的執行,PHP以命令列腳本執行時,當腳本終端結束,腳本不會立即中止,除非設定value 為TRUE,否則腳本輸出任意字元時會被中止。

個人理解就是不透過瀏覽器來執行,而是透過命令列方式執行的情況下,此函數的程式碼區塊繼續執行。在這篇文章中有具體地通過此函數的實現過程。

下面是一個測試用的例子。

windows批次處理文件

新文字文檔,寫如下程式碼,儲存為.bat文件。

E:
"E:\PHP\wamp\bin\php\php5.5.12\php.exe" -f "E:\PHP\wamp\www\write.php"

PHP運行模式

平時執行php程式碼,是透過瀏覽器向伺服器請求的方式執行的,這種運行模式叫模組模式。 模組模式是以mod_php5模組的形式集成,此時mod_php5模組的作用是接收Apache傳遞過來的PHP檔案請求,並處理這些請求,然後將處理後的結果傳回給Apache。如果我們在Apache啟動前在其設定檔中配置了PHP模組(mod_php5), PHP模組透過註冊apache2的ap_hook_post_config掛鉤,在Apache啟動的時候啟動此模組以接受PHP檔案的請求。

而我們用php.exe執行時, 便是 CLI模式,這篇博文對PHP四種運行模式進行了詳細闡述。

php.exe

PHP命令列執行程式php.exe的功能非常強大,在windows環境下配置系統變數path的值可以直接在dos視窗介面直接運行php腳本文件,這篇文章有具體設定方法。

這裡的php.exe是php安裝目錄下三個和php相關的exe檔中的一個,php-cgi.exe、php-win.exe

php- cgi.exe提供來作為CGI使用的,通常用來在windows環境下透過cgi方式解析php腳本,常用於在iis下執行php網站,差異是在檔案輸出所有內容之前,會自動輸出一個下面的HTTP頭

X-Powered-By: PHP/5.2.5Content-type: text/html

php-win.exe也可以執行PHP文件,差異是大開啟控制台,不顯示輸出內容。可以用來編寫無需顯示介面的檔案處理、網路服務等程式。

PHP執行程式碼

<?php$fp = @fopen("E:/PHP/wamp/www/test.txt", "a+");fwrite($fp, "自动播报时间:\n" . date("Y-m-d H:i:s"));fclose($fp);

這裡的檔案路徑一定要是絕對路徑,因為沒有經過apache或iis這種伺服器,除了一些基於伺服器的變數不能使用的,如$_SERVER等,還有很有可能發生各種無法預期的錯誤。

建立任務計畫

這個百度一下就能出很多,我測試的用的是windows7.
開始–》附件–》系統工具–》任務規劃程式
雙擊建立任務
php實作Windows任務計畫定時執行的程式碼以及擴充(圖)
建立名稱和設定執行權限
php實作Windows任務計畫定時執行的程式碼以及擴充(圖)
設定好開始時間和重複任務間隔時間
php實作Windows任務計畫定時執行的程式碼以及擴充(圖)##選擇寫入好的腳本路徑

php實作Windows任務計畫定時執行的程式碼以及擴充(圖)到這兒就已經創建好任務計劃程序了
下面是執行的效果

php實作Windows任務計畫定時執行的程式碼以及擴充(圖)

##總結:windows任務計畫的執行,相信很多小夥伴都知道如何使用php去實現了,希望對你工作有幫助!

相關推薦:#

php計畫任務的範例程式碼分享


php如何實作定時執行排程任務?


php實作計畫任務的原理分析

#

以上是php實作Windows任務計畫定時執行的程式碼以及擴充(圖)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:php數組的定義下一篇:php數組的定義