ThinkPHP3.1.2 使用cli命令行模式运行的方法

2025-05-29 0 29

前言

thinkphp3.1.2 需要使用cli方法运行脚本
折腾了一天才搞定
3.1.2的版本真的很古老

解决

增加cli.php入口文件

?

1

2

3

4

5
define ('APP_NAME','App');

define ('APP_PATH','./App/');

define('APP_DEBUG', true);

define('MODE_NAME','cli');

require './Base/ThinkPHP.php';

注意目录名称:根据实际去改

cli.php文件增加解析模块、方法名、参数

?

1

2

3

4

5

6

7

8

9

10

11
if (!isset($argv[1]) || !isset($argv[2])) {

exit("格式错误: php cli.php module action {id 1}" . PHP_EOL);

}

# 'URL_MODEL'=>0, 的格式

if ($argc > 3) {

preg_replace('@(\\w+),([^,\\/]+)@e', '$_GET[\\'\\\\1\\']="\\\\2";', implode(',',array_slice($argv,3)));

}

$moduleName = $argv[1];

$actionName = $argv[2];

define('MODULE_NAME', $moduleName);

define('ACTION_NAME', $actionName);

下载thinkphp3.1.2 扩展包 【推荐使用】

http://www.thinkphp.cn/down/253.html

放到 /Base/Extend/

ThinkPHP3.1.2 使用cli命令行模式运行的方法

注释掉Log.class.php

ThinkPHP3.1.2 使用cli命令行模式运行的方法

扩展包解析命令行参数的逻辑

ThinkPHP3.1.2 使用cli命令行模式运行的方法

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22
if(C('URL_MODEL')==1) {// PATHINFO 模式URL下面 采用 index.php module/action/id/4

$depr = C('URL_PATHINFO_DEPR');

$path = isset($_SERVER['argv'][1])?$_SERVER['argv'][1]:'';

if(!empty($path)) {

$params = explode($depr,trim($path,$depr));

}

// 取得模块和操作名称

define('MODULE_NAME', !empty($params)?array_shift($params):C('DEFAULT_MODULE'));

define('ACTION_NAME', !empty($params)?array_shift($params):C('DEFAULT_ACTION'));

if(count($params)>1) {

// 解析剩余参数 并采用GET方式获取

preg_replace('@(\\w+),([^,\\/]+)@e', '$_GET[\\'\\\\1\\']="\\\\2";', implode(',',$params));

}

}else{// 默认URL模式 采用 index.php module action id 4

// 取得模块和操作名称

define('MODULE_NAME', isset($_SERVER['argv'][1])?$_SERVER['argv'][1]:C('DEFAULT_MODULE'));

define('ACTION_NAME', isset($_SERVER['argv'][2])?$_SERVER['argv'][2]:C('DEFAULT_ACTION'));

if($_SERVER['argc']>3) {

// 解析剩余参数 并采用GET方式获取

preg_replace('@(\\w+),([^,\\/]+)@e', '$_GET[\\'\\\\1\\']="\\\\2";', implode(',',array_slice($_SERVER['argv'],3)));

}

}

总结

到此这篇关于ThinkPHP3.1.2 使用cli命令行模式运行的文章就介绍到这了,更多相关ThinkPHP3.1.2 cli命令行模式内容请搜索快网idc以前的文章或继续浏览下面的相关文章希望大家以后多多支持快网idc!

原文链接:http://www.cnblogs.com/yanweifeng/p/12697638.html

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 ThinkPHP3.1.2 使用cli命令行模式运行的方法 https://www.kuaiidc.com/105934.html

相关文章

发表评论
暂无评论