探讨下Thinkphp的crontab定时命令行执行方法

接触Thinkphp时间不算长。最近用的比较多一些。确实很方便,开发速度大幅提高。

刚好一些函数需要在后台定时执行的。查阅了Thinkphp的一些资料,手册上说是可以的。

But 一切都是浮云,还是各种不行。

最后自己摸索了一下总结一下使用方法。

先贴代码,最下面写说明。

PHP部分。

 

<?php
$_GET['g']='Admin';
$_GET['m']='Create'; 
$_GET['a']='Index';
$_GET['id']='1';

//超时时间
@set_time_limit(0);
//内存限制 取消内存限制
@ini_set("memory_limit",'-1');

//ThinkPHP路径
define('THINK_PATH','/home/wwwroot/www.526net.com/Lib/ThinkPHP');
//缓存路径
define('RUNTIME_PATH','/home/wwwroot/www.526net.com/Runtime/');
//项目名称
define('APP_NAME','526net-cms');
//项目路径
define('APP_PATH','/home/wwwroot/www.526net.com/Lib/');

define('MODE_NAME', 'cli');
define('APP_DEBUG',false);
//加载入口文件
require(THINK_PATH.'/ThinkPHP.php');
//实例化项目
$App = new App();
//初始化
$App->run();
?>

SH脚本部分:

 

 

cd /home/wwwroot/www.526net.com \r\n
/usr/local/php/bin/php /data/run/html/php/index.php  > /data/run/html/log/index.log \r\n

具体说明:

 

首先这个被运行的PHP可以放在任何目录。当然前提是这个PHP文件中的路径你要改为绝对路径 指向你的网站项目目录

将:/home/wwwroot/www.526net.com/ 替换为你项目路径

然后将 SH脚本部分 首先要cd到你项目根目录 将:/home/wwwroot/www.526net.com 修改为你的项目路径 

​SH脚本第二行 

 /usr/local/php/bin/php 是你PHP的绝对路径​。 

/data/run/html/php/index.php​ 是你上面PHP保存的路径。 

/data/run/html/log/index.log 是输出日志。个人习惯。

修改完毕后保存为 xxx.sh 也是任意目录 xxx是文件名。


crontab 部分:

0 */2 * * * sh /data/run/html/index.sh​​

/data/run/html/index.sh 是你上面 sh脚本保存路径。


上面是两个小时执行一次。


打完收工。完美运行。​


发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注