日常程序中,不少需要用定時執行php腳本,php自帶ignore_user_abort函數,在一定程度上可以實現這個功能,但效率太低,最好的方法還是用服務器自帶的計劃任務功能。
win7計劃任務執行php腳本方法網上有不少教程,但絕大部分是錯誤的,這里說下正確的具體操作方法。
例如,我想讓 G:/ecms_7.2_UTF/e/dongpo/sitemap/auto.php 文件能定時執行,自動生成sitemap文件,需要按如下方法執行:
用計劃任務執行php腳本常見的有兩種方法,一種是用php執行,另一種是用瀏覽器explorer執行。php執行時不能加參數,但效率較高,explorer執行更加靈活。
在電腦上任意位置新建一個文本,名字是 auto.txt
(1)php執行方法時,在文本里輸入內容:
"H:/AppServ/php5/php.exe" -f "G:/ecms_7.2_UTF/e/dongpo/sitemap/auto.php"
以上內容中,紅色部分是php.exe文件路徑,藍色部分是腳本路徑。
(2)explorer執行方法時,在文本里輸入內容:
explorer "http://網址/e/dongpo/sitemap/auto.php?tabname=news"
藍色部分是腳本的完整網址。此時,auto.php文件尾部最好加入如下代碼,作用時在執行后自動關閉剛才打開的瀏覽器:
<script>closewin();function closewin(){ var browserName=navigator.appName; if(browserName=="Netscape"){ var opened=window.open('about:blank','_self'); opened.opener=null; opened.close(); }else if(browserName=="Microsoft Internet Explorer"){ window.opener=null; window.open('','_self'); window.close(); }}</script>
保存好之后,將此文件后綴改為.bat。我的bat文件的路徑是 G:/ecms_7.2_UTF/e/dongpo/sitemap/auto.bat
(1)控制面板 》 管理工具 》 任務計劃程序,打開計劃任務界面,在“計劃任務程序庫”上點擊右鍵,選擇“創建任務”。
(2)“常規”界面,填上名稱,如“sitemap”。
(3)“觸發器”界面,點擊新建,新建一個觸發器,觸發器界面設置如圖。我這里設置的是1分鐘運行一次,永遠執行下去。
新建好觸發器后如圖:
(4)“操作”界面,點擊新建,新建一個操作,界面如圖,選擇“啟動服務”,“程序或腳本”里填上剛才新建的bat文件的路徑。“起始于”文本框里要填bat文件所在的目錄,如果不填的話,是不會執行bat文件的。
新建好操作后界面如圖
至此新建完畢,點擊“保存”即可。最后界面如圖:
想要停止計劃任務,只需在此任務上點擊右鍵,選擇“禁用”。
新聞熱點
疑難解答