windows下的定時任務設置詳解

windows下的定時任務設置詳解

1、總結

一句話總結:

 

一、php.exe是什麼?

就是php中自帶的一個exe,不是咱們寫的,這個exe是能夠執行其餘的PHP的php

 

 

 

2、windows下的定時任務設置詳解

 

【摘抄-方便本身學習】【http://blog.csdn.net/zdx_y/article/details/52810330】
 
 

由於在項目中有個需求是大批量的數據自動計算後插入更新到數據庫中,爲避免佔用正常資源,須要在固定時間段進行自動計算,由於項目服務器是windows server2012,就考慮用windows平臺強大的任務計劃程序來實現。html

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

int ignore_user_abort ([ string $value ] )

設置客戶端斷開鏈接時是否中斷腳本的執行 ,PHP以命令行腳本執行時,當腳本終端結束,腳本不會被當即停止,除非設置 value 爲 TRUE,不然腳本輸出任意字符時會被停止。web

我的理解就是不經過瀏覽器來執行,而是經過命令行方式執行的狀況下,此函數的代碼塊繼續執行。在這篇博文中有具體地經過此函數的實現過程。sql

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

windows批處理文件

新建文本文檔,編寫以下代碼,保存爲.bat文件。apache

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文件的請求。windows

而咱們用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.5
Content-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等,還有頗有可能發生各類沒法預計的錯誤。

(注:這裏php頁面中出現的相對路徑發現不能用,腳本作好不牽涉到其餘的路徑)

建立任務計劃

這個百度一下就能出不少,我測試的用的是windows7.
開始–》附件–》系統工具–》任務計劃程序
雙擊建立任務

 

 
建立名稱和設置執行權限

 

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

 

 
選擇寫好的腳本路徑

 

 
到這兒就已經建立好任務計劃程序了
下面是執行的效果

相關文章
相關標籤/搜索