2025全年资料免费大全,水晶摆件放哪里最旺 ,2024澳门六今晚开奖结果出来,电脑店名字

网站建设资讯

Thinkphp 框架使用定时执行模式

网站建设 2019-04-02 14:41:32 | 阅读:1795 | 作者:方维网络 | 标签:    

  我们使用Thinkphp框架在日常使用中难免会碰到一些需要在后台自动执行的项目,如定时扫描等。虽然php提供了一些函数可以用代码实现,即使关闭浏览器也不会中断如:

  ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.

  set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制的执行下去

  ini_set('memory_limit','512M'); // 设置内存限制

  $interval=60*30;// 每隔半小时运行

  do{

  //ToDo

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

  }

  while(true);

  但是这种方法有一种致命的缺陷,就是无法控制,除非你结束php进程,内存消耗也很大,难以在实践中使用

  想要在性能和管理上更为合理,使用服务器提定时执行更为方便,拿windows为便,如果我们直接使用F:\index.php Home/index 会发现无法执行。因为绝对路径无法调用thinkphp所以tp提供了使一种模式Cli模式。使用这种模式也非常简单方便:

  首先复制一份index.php 更名为cli.php放在根目录。然后增加一行代码

  define('APP_MODE','cli');

  设置为cli模式

  再到ThinkPhp/Model/Sae目录下复制一份api.php 更名为cli.php

  这样cli模式就配置完成了。我们可以用win自带的定时执行测试一下。

  我们写一个.bat

  先找到php执行文件的路径 在bat文件里写上执行代码如:

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

  前一段为php服务的路径,后一段为tp项目的执行路径。执行模块HOME下 控制index控制器下的index操作。自行成功为自行关闭,如果失败会显示 错误代码。

  如果要执行多次任务,复制一行即可

  成功后可以把代码在定时任务里配置好,设置好定时时间,定时任务就配置完成了

主站蜘蛛池模板: 固安县| 吉木乃县| 鸡泽县| 香河县| 五常市| 巢湖市| 广水市| 尼木县| 略阳县| 外汇| 海宁市| 荥阳市| 义马市| 芜湖市| 霍林郭勒市| 宝山区| 深泽县| 佛冈县| 临朐县| 张北县| 揭东县| 武乡县| 成安县| 黑河市| 江安县| 搜索| 格尔木市| 凌源市| 土默特左旗| 南昌市| 莒南县| 乾安县| 平乡县| 牙克石市| 西乌| 聂拉木县| 师宗县| 高要市| 昔阳县| 修水县| 南川市|