php實現Windows任務計劃定時執行的代碼以及擴充

來源:互聯網
上載者:User

任務計劃在我們的日常工作開發中,有很大用處、有時項目需要大批量的資料更新插入資料庫中,那麼我們為了能夠節約資源,需要定時時間段進行自動計算,為此,我們就需要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.
開始–》附件–》系統工具–》工作排程器
雙擊建立任務

建立名稱和設定執行許可權

設定好開始時間和重複任務間隔時間

選擇寫好的指令碼路徑

到這兒就已經建立好工作排程器了
下面是執行的效果

總結:

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

相關推薦:

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


php如何?定時執行計畫任務?


php實現計劃任務的原理分析

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.