亚洲日本中文字幕天天更新,亚洲人成人网站在线观看,亚洲免费人成在线视频观看,亚洲日韩乱码中文无码蜜桃臀,亚洲精品一区二区三区精品

網(wǎng)站建設(shè)資訊

Thinkphp 框架使用定時(shí)執(zhí)行模式

網(wǎng)站建設(shè) 2019-04-02 14:41:32 | 閱讀:1784 | 作者:方維網(wǎng)絡(luò) | 標(biāo)簽:    

  我們使用Thinkphp框架在日常使用中難免會(huì)碰到一些需要在后臺(tái)自動(dòng)執(zhí)行的項(xiàng)目,如定時(shí)掃描等。雖然php提供了一些函數(shù)可以用代碼實(shí)現(xiàn),即使關(guān)閉瀏覽器也不會(huì)中斷如:

  ignore_user_abort();//關(guān)掉瀏覽器,PHP腳本也可以繼續(xù)執(zhí)行.

  set_time_limit(0);// 通過set_time_limit(0)可以讓程序無限制的執(zhí)行下去

  ini_set('memory_limit','512M'); // 設(shè)置內(nèi)存限制

  $interval=60*30;// 每隔半小時(shí)運(yùn)行

  do{

  //ToDo

  sleep($interval);// 等待5分鐘

  }

  while(true);

  但是這種方法有一種致命的缺陷,就是無法控制,除非你結(jié)束php進(jìn)程,內(nèi)存消耗也很大,難以在實(shí)踐中使用

  想要在性能和管理上更為合理,使用服務(wù)器提定時(shí)執(zhí)行更為方便,拿windows為便,如果我們直接使用F:\index.php Home/index 會(huì)發(fā)現(xiàn)無法執(zhí)行。因?yàn)榻^對(duì)路徑無法調(diào)用thinkphp所以tp提供了使一種模式Cli模式。使用這種模式也非常簡(jiǎn)單方便:

  首先復(fù)制一份index.php 更名為cli.php放在根目錄。然后增加一行代碼

  define('APP_MODE','cli');

  設(shè)置為cli模式

  再到ThinkPhp/Model/Sae目錄下復(fù)制一份api.php 更名為cli.php

  這樣cli模式就配置完成了。我們可以用win自帶的定時(shí)執(zhí)行測(cè)試一下。

  我們寫一個(gè).bat

  先找到php執(zhí)行文件的路徑 在bat文件里寫上執(zhí)行代碼如:

  E:\php.exe F:\cli.php Home/Index/index

  前一段為php服務(wù)的路徑,后一段為tp項(xiàng)目的執(zhí)行路徑。執(zhí)行模塊HOME下 控制index控制器下的index操作。自行成功為自行關(guān)閉,如果失敗會(huì)顯示 錯(cuò)誤代碼。

  如果要執(zhí)行多次任務(wù),復(fù)制一行即可

  成功后可以把代碼在定時(shí)任務(wù)里配置好,設(shè)置好定時(shí)時(shí)間,定時(shí)任務(wù)就配置完成了