日常程序中,不少需要用定時(shí)執(zhí)行php腳本,php自帶ignore_user_abort函數(shù),在一定程度上可以實(shí)現(xiàn)這個(gè)功能,但效率太低,最好的方法還是用服務(wù)器自帶的計(jì)劃任務(wù)功能。
win7計(jì)劃任務(wù)執(zhí)行php腳本方法網(wǎng)上有不少教程,但絕大部分是錯(cuò)誤的,這里說(shuō)下正確的具體操作方法。
例如,我想讓 G:/ecms_7.2_UTF/e/dongpo/sitemap/auto.php 文件能定時(shí)執(zhí)行,自動(dòng)生成sitemap文件,需要按如下方法執(zhí)行:
用計(jì)劃任務(wù)執(zhí)行php腳本常見(jiàn)的有兩種方法,一種是用php執(zhí)行,另一種是用瀏覽器explorer執(zhí)行。php執(zhí)行時(shí)不能加參數(shù),但效率較高,explorer執(zhí)行更加靈活。
在電腦上任意位置新建一個(gè)文本,名字是 auto.txt
(1)php執(zhí)行方法時(shí),在文本里輸入內(nèi)容:
"H:/AppServ/php5/php.exe" -f "G:/ecms_7.2_UTF/e/dongpo/sitemap/auto.php"
以上內(nèi)容中,紅色部分是php.exe文件路徑,藍(lán)色部分是腳本路徑。
(2)explorer執(zhí)行方法時(shí),在文本里輸入內(nèi)容:
explorer "http://網(wǎng)址/e/dongpo/sitemap/auto.php?tabname=news"
藍(lán)色部分是腳本的完整網(wǎng)址。此時(shí),auto.php文件尾部最好加入如下代碼,作用時(shí)在執(zhí)行后自動(dòng)關(guān)閉剛才打開(kāi)的瀏覽器:
<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)控制面板 》 管理工具 》 任務(wù)計(jì)劃程序,打開(kāi)計(jì)劃任務(wù)界面,在“計(jì)劃任務(wù)程序庫(kù)”上點(diǎn)擊右鍵,選擇“創(chuàng)建任務(wù)”。
(2)“常規(guī)”界面,填上名稱,如“sitemap”。
(3)“觸發(fā)器”界面,點(diǎn)擊新建,新建一個(gè)觸發(fā)器,觸發(fā)器界面設(shè)置如圖。我這里設(shè)置的是1分鐘運(yùn)行一次,永遠(yuǎn)執(zhí)行下去。
新建好觸發(fā)器后如圖:
(4)“操作”界面,點(diǎn)擊新建,新建一個(gè)操作,界面如圖,選擇“啟動(dòng)服務(wù)”,“程序或腳本”里填上剛才新建的bat文件的路徑。“起始于”文本框里要填bat文件所在的目錄,如果不填的話,是不會(huì)執(zhí)行bat文件的。
新建好操作后界面如圖
至此新建完畢,點(diǎn)擊“保存”即可。最后界面如圖:
想要停止計(jì)劃任務(wù),只需在此任務(wù)上點(diǎn)擊右鍵,選擇“禁用”。
新聞熱點(diǎn)
疑難解答
圖片精選