本帖最后由 抄写并背诵全文 于 2024-5-20 15:35 编辑
防手贱:先整个备份你的 dzq 项目文件夹,防止出问题了之后数据无法还原 先说一下我的二开流程我直接从服务器把所有代码打包下载下来,然后在本地创建的 git 仓库 .gitignore 文件整个仓库拉下来之后,别忘了创建一个.gitignore 文件: - # /framework
- /public
- /vendor
- /composer.lock
- /.idea
- /config/config.php
- /node_modules
- .php_cs.cache
- /public/s9e.js
- /public/storage
- /storage/install.lock
- /public/docs
- /public/api-docs
- /public/manual-h5
- /public/manual-admin
- /plugin/CustomIfram2
复制代码
/frame这个要注释掉(不忽略),后边我会告诉你干什么用 /public前端代码,这里放的是产物,不是前端源码,直接忽略 /vendor整个 dzq 项目所需要的,已经下载好的所有 composer 依赖,因为后边咱们可以自己处理 composer 包了,所以这里直接忽略掉 /config/config.php配置文件,这里因为需要使用开发版的数据库连接地址,所以忽略 剩下的内容也是直接忽略即可,我不再多解释其他的目录的作用了 修复 composer.json最后一版 DZQ 已经过去两年了,大部分 composer 包已经有了更新的版本,但是部分包可能不兼容目前的 DZQ3.0 后端,所以暂时先锁定目前已有的包的版本 require 字段:直接改成我这样既可 - "require": {
- "php": "^7.2.5",
- "ext-json": "*",
- "ext-pdo": "*",
- "discuz/core": "dev-3.0-dev",
- "doctrine/dbal": "2.13.2",
- "endroid/qr-code": "3.9.6",
- "ezyang/htmlpurifier": "v4.13.0",
- "league/omnipay": "v3.0.2",
- "lokielse/omnipay-wechatpay": "v3.0.11",
- "overtrue/wechat": "4.4.2",
- "qcloud/vod-sdk-v5": "v2.4.4",
- "qcloud_sts/qcloud-sts-sdk": "3.0.6",
- "s9e/text-formatter": "2.9.3",
- "zircote/swagger-php": "^3.2"
- },
复制代码
require-dev 字段改成这样: - "require-dev": {
- "friendsofphp/php-cs-fixer": "v2.19.0",
- "symfony/var-dumper": "v4.4.26"
- },
复制代码
这样改这两个字段的作用,是直接硬锁定 composer 包的版本 修复 dzq 主框架(重要)- 在你的 dzq 后端的根目录下,新建一个文件夹,叫做:framework
- 进入你 dzq 后端根目录下的 vendor 目录,找到 discuz 文件夹,然后找到 core 文件夹。
- 把 core 文件夹里所有的文件,复制到 framework 文件夹下
- 进入 framework 文件夹,找到 composer.json 文件
- 在 "description" 字段下,新加入一行:"version": "dev-3.0-dev",
- 保存,退出
开始正常使用 composer进入你的 DZQ 根目录,开启 cmd 终端,然后输入 composer install,如果生成了一个新的 composer.json.lock。则 composer 就可以正常使用了 |