thinkphp3.2 Cli定时任务
来源:互联网 发布:godaddy域名dns修改 编辑:程序博客网 时间:2024/06/03 14:16
最近要使用thinkphp3.2版本的cli模式,手动执的话没有问题,比如php /www/index.php home/article/get 这样没有问题,但是一般用cli模式都是定时任务比较多,这个时候写到定时任务的时候,比如 0 * * * * * php /www/index.php home/article/get 这样就会出现引入ThinkPHP.php失败的问题,这个问题算是比较容易解决的,但是后来还有其他各种报错,经过查看相关核心代码,终于找到无需修改代码,就可以轻易使用cli模式的方法。
步骤如下:
1、官方下载的框架文件里面的index.php文件引入其他文件使用的是相对路径,这导致了定时执行的时候引入ThinkPHP.php文件不存在的问题,修改成绝对路径即可。
define( 'APP_PATH', dirname(__FILE__).'/Application/' );
require dirname( __FILE__).’/ThinkPHP/ThinkPHP.php';
2、思维要倒回去第半步,刚刚说index.php文件的相对路径跟绝对路径的问题,但是执行cli模式的时候,我们的入口文件要有别于通过web服务访问的index.php文件,比如增加cli模式的入口文件cli.php,内容跟index.php的一样,同时增加一句话
define(‘APP_MODE’,'cli');
定义APP的执行模式。此时,我们有两个入口文件,一个是web服务访问方式的index.php,另一个是cli模式访问的cli.php
3、在路径 /ThinkPHP/Mode 下面有个文件,名字叫做common.php ,复制一份出来,命名为cli.php,然后把里面引入日志类的代码注释或者删除掉
'Think\Log' => CORE_PATH . ‘Log'.EXT,
4、删除缓存下面的所有缓存——记得是所有
步骤如下:
1、官方下载的框架文件里面的index.php文件引入其他文件使用的是相对路径,这导致了定时执行的时候引入ThinkPHP.php文件不存在的问题,修改成绝对路径即可。
define( 'APP_PATH', dirname(__FILE__).'/Application/' );
require dirname( __FILE__).’/ThinkPHP/ThinkPHP.php';
2、思维要倒回去第半步,刚刚说index.php文件的相对路径跟绝对路径的问题,但是执行cli模式的时候,我们的入口文件要有别于通过web服务访问的index.php文件,比如增加cli模式的入口文件cli.php,内容跟index.php的一样,同时增加一句话
define(‘APP_MODE’,'cli');
定义APP的执行模式。此时,我们有两个入口文件,一个是web服务访问方式的index.php,另一个是cli模式访问的cli.php
3、在路径 /ThinkPHP/Mode 下面有个文件,名字叫做common.php ,复制一份出来,命名为cli.php,然后把里面引入日志类的代码注释或者删除掉
'Think\Log' => CORE_PATH . ‘Log'.EXT,
4、删除缓存下面的所有缓存——记得是所有
5、再啰嗦一句,以后cli模式调用的时候,就用cli.php入口文件,比如定时任务 0 * * * * php /www/cli.php home/article/get ,如果是web服务访问,则依然使用index.php文件
6、也可以利用curl 0 */2 * * * curl http://rl.chuangjiangnet.cn/index.php/open/test 每两小时执行
阅读全文
0 0
- thinkphp3.2 Cli定时任务
- thinkphp3.2版本的cli模式 实现定时任务 curl
- YII2.0 php cli 定时任务
- thinkphp3.2 cli模式的正确使用方法
- thinkphp3.2 cli模式的正确使用方法
- Laravel5 (cli)命令行执行脚本及定时任务
- Spring定时任务2
- spring4.2 定时任务
- Crontab定时任务-2
- jfinal2.2定时任务
- thinkphp3.2 中用S方法实现 用户定时操作
- Oracle定时任务(2)-DBMS_JOB
- spring 定时任务(2)
- 定时任务调度总结2)
- Java定时任务(2)
- springboot 2(定时任务)
- 定时任务
- 定时任务
- java基础7
- int argc 、char *argv[] 与 char **argv
- mysql5.7修改用户的密码和给用户授权
- MySQL存储写入性能严重抖动分析
- mxnet-ssh环境配置
- thinkphp3.2 Cli定时任务
- LeetCode 214. Shortest Palindrome
- 将 Shiro 作为应用的权限基础
- Java Jdbc
- 算法-旋转数组的最小数字
- 【C语言】函数调用过程解析(栈帧)
- HDU 1075 What Are You Talking About(字典树)
- Java关于实体对象和Map对象之间的转换
- linux下远程服务器登录命令