包含寶塔定時(shí)任務(wù)執(zhí)行php源碼任務(wù)的詞條
可以用 linux 的 crontab 計(jì)劃任務(wù) 命令來實(shí)現(xiàn), 這個(gè)要求你對(duì) linux 系統(tǒng)命令有一定了解, 設(shè)置當(dāng)前時(shí)間 10s 過后, 用php 命令行來執(zhí)行 php腳本文件即可;不知道用循環(huán)行不行,你可以設(shè)置休眠時(shí)間。
PHP是網(wǎng)頁(yè)客戶端才能執(zhí)行的,如果沒有客戶端打開,是無法自動(dòng)執(zhí)行的建議用C或C++自行制作對(duì)應(yīng)的程序,然后添加到服務(wù)器計(jì)劃任務(wù)中,設(shè)置執(zhí)行時(shí)間即可;寫好要執(zhí)行的PHP文件 然后使用Crontab 對(duì)應(yīng)的時(shí)間格式等進(jìn)行執(zhí)行即可 linux crontab每隔10秒執(zhí)行一次 linux下定時(shí)執(zhí)行任務(wù)的方法 ===CRONTAB執(zhí)行PHP文件=== 原理Crontab sleep結(jié)合實(shí)現(xiàn)每N秒執(zhí)行文件,延時(shí)方法 sleep N 注意。
命令行下執(zhí)行,如果有打印一些調(diào)試信息,你手動(dòng)執(zhí)行當(dāng)然會(huì)顯示出來,但是他自動(dòng)執(zhí)行時(shí),你如果沒有把輸出重定向的話,運(yùn)行日志是看不到結(jié)果的,你可以把PHP的輸出重定向到一個(gè)文件中就知啦;1建一個(gè)php文件,文件里面寫需要更新數(shù)據(jù)庫(kù)的代碼2給服務(wù)器建立定時(shí)任務(wù),liunx的話需要命令開啟任務(wù),詳情都能網(wǎng)上搜windows的話可以建立一個(gè)任務(wù)計(jì)劃程序開始菜單可以搜索,里面設(shè)置好啟動(dòng)時(shí)間及要通過php程序運(yùn)。
定時(shí)器只支持 分鐘級(jí)別 如果需要 秒級(jí)需要用別的語(yǔ)言實(shí)現(xiàn),比如 python 什么的;用crond服務(wù),設(shè)置定時(shí)任務(wù)不光定時(shí)執(zhí)行腳本,看服務(wù)狀態(tài)也可以,多用于系統(tǒng)的健康檢查望采納。
首先說說cron,它是一個(gè)linux下的定時(shí)執(zhí)行工具根用戶以外的用戶可以使用crontab工具來配置cron任務(wù)所有用戶定義的crontab都被保存在varspoolcron目錄中,并使用創(chuàng)建它們的用戶身份來執(zhí)行要以某用戶身份創(chuàng)建一個(gè)crontab項(xiàng)目;示例代碼lt?php ignore_user_aborttrueset_time_limit0date_default_timezone_set#39PRC#39 切換到中國(guó)的時(shí)間 run_time = strtotime#39+1 day#39 定時(shí)任務(wù)第一次執(zhí)行的時(shí)間是明天的這個(gè)時(shí)候 interval。
查看執(zhí)行日志定時(shí)任務(wù)是不會(huì)自動(dòng)結(jié)束的,可以根據(jù)執(zhí)行日志查看,以及檢查您執(zhí)行的腳本內(nèi)容是否有中斷操作進(jìn)行或者別的錯(cuò)誤導(dǎo)致中斷。
注意,這樣寫需要把PHP變成可執(zhí)行的腳本文件在命令行下,腳本所在目錄chmod +x scriptphp注意你的scriptphp文件中一定要在開始處加上 #!usrlocalphpbinphp q,下面是一個(gè)完整的scriptphp文件代碼lt?php#!usrlocal;return 1? cronphp ignore_user_abort關(guān)掉瀏覽器,PHP腳本也可以繼續(xù)執(zhí)行set_time_limit0 通過set_time_limit0可以讓程序無限制的執(zhí)行下去 interval=60*30 每隔半小時(shí)運(yùn)行 do run = include。
方法是用計(jì)劃任務(wù), 沒錯(cuò)就是計(jì)劃任務(wù), 無論windows*nix都有計(jì)劃任務(wù), 你可以把php放進(jìn)計(jì)劃任務(wù)里, 用命令行方式執(zhí)行php程序 事實(shí)上沒有任何可能性在0訪問的情況下讓php執(zhí)行, 因?yàn)閜hp自身就是服務(wù)器端腳本解釋工具;第一步ApplicationCommonConf目錄下新建兩個(gè)文件分別如ApplicationCommonConftagsphpApplicationCommonConfcronsphp1 新建 tagsphp,編輯內(nèi)容如下return array#39app_end#39 = array#39Behavior\CronRu。
拐個(gè)彎就行了,每個(gè)月月底就是下個(gè)月初,linux的定時(shí)任務(wù)就可以啊 0 0 1 * * php腳本;linux下可以 crontab執(zhí)行如crontab e編輯,crontab l查看0 1 * * * php testphp #每天0100執(zhí)行一次testphp 5 * * * * php testphp #每5分鐘執(zhí)行一次testphp php自身實(shí)現(xiàn)可sleep實(shí)現(xiàn) lt?php。
php做不到每天定時(shí)執(zhí)行,只有java或者c可以,因?yàn)閜hp是不訪問頁(yè)面就不會(huì)動(dòng)得代碼,但是有一個(gè)方法可以曲線救國(guó) 你寫一個(gè)頁(yè)面是你要每天定時(shí)執(zhí)行的頁(yè)面,然后視你的操作系統(tǒng)而言,做定時(shí)任務(wù),定時(shí)去訪問這個(gè)頁(yè)面 如果是。
掃描二維碼推送至手機(jī)訪問。
版權(quán)聲明:本文由飛速云SEO網(wǎng)絡(luò)優(yōu)化推廣發(fā)布,如需轉(zhuǎn)載請(qǐng)注明出處。