----------------------------------------------------------
1、安装PHP8
2、升级TP核心包至TP8
方法一:按照thinkphp官方指引,从tp6升级到tp8
方法二:如果您没有使用composer 安装过别的依赖,也可以直接使用“vendor文件包”里的文件
3、覆盖主程序
复制“覆盖主程序”文件夹里的文件进行覆盖
删除app/common/model里的系统文件(Admin.php、AdminLog.php、AuthGroup.php、AuthGroupAccess.php、AuthRule.php、UploadFiles.php)
4、修改“配置管理”
如果您新增了自己的配置,请按配置管理二开修改(http://xnadmin.cn/index/Doc/index.html#item6)
后台修改菜单(权限管理-权限控制)
admin/config/base 改为 admin/config/index
5、导入数据表 xn_upload_class.sql
6、修改app\common.php文件
受影响的有两个方法函数(xn_add_admin_log、 xn_upload_one),复制下面代码分别覆盖
function xn_add_admin_log($remark) { $data = [ 'admin_id' => session('admin_auth.id'), 'url' => request()->url(true), 'ip' => request()->ip(), 'remark' => $remark, 'method' =>request()->method(), 'param' => json_encode(request()->param()), 'create_time' => time() ]; \app\common\model\AdminLogModel::insert($data); }
function xn_upload_one($value,$file_name,$water=null,$thumb=null) { $html=<<<php <div class="xn-upload-box"> <div class="t layui-col-md12 layui-col-space10"> <input type="hidden" name="{$file_name}" class="layui-input xn-images" value="{$value}"> <div class="layui-col-md12"> <div type="button" class="layui-btn webuploader-container" id="{$file_name}" data-water="{$water}" data-thumb="{$thumb}" style="width: 113px;"><i class="layui-icon layui-icon-picture"></i>上传图片</div> <div type="button" class="layui-btn chooseImage" data-num="1"><i class="layui-icon layui-icon-table"></i>选择图片</div> </div> </div> <ul class="upload-ul clearfix"> <span class="imagelist"></span> </ul> <script>$('#{$file_name}').uploadOne();</script> </div> php; return $html; }
/** * 错误信息 - 为API设计的返回错误信息的方法 * @param string $msg * @param int $code * @param array $data */ function retError($msg = 'fail', $code = 0, $data = []) { $result = [ 'msg' => $msg, 'code' => $code, 'data' => $data ]; $response = json($result); throw new \think\exception\HttpResponseException($response); }
/** * 成功信息 - 为API设计的返回数据的方法 * @param array $data * @param string $msg * @param int $code */ function retSuccess($data = [], $msg = 'success', $code = 1) { $result = [ 'data' => $data, 'msg' => $msg, 'code' => $code ]; $response = json($result); throw new \think\exception\HttpResponseException($response); }
----------------------------------------------------------