返回列表 发帖
查看: 784|回复: 1

[闲聊杂谈] 如何启用Discuz!Q的composer

3

主题

13

回帖

22

积分

初学乍练

贡献
0 点
金币
5 个
发表于 2024-5-20 15:32:46 | 查看全部 |阅读模式
本帖最后由 抄写并背诵全文 于 2024-5-20 15:35 编辑

防手贱:
先整个备份你的 dzq 项目文件夹,防止出问题了之后数据无法还原
先说一下我的二开流程
我直接从服务器把所有代码打包下载下来,然后在本地创建的 git 仓库
.gitignore 文件
整个仓库拉下来之后,别忘了创建一个.gitignore 文件:
  1. # /framework
  2. /public
  3. /vendor
  4. /composer.lock
  5. /.idea
  6. /config/config.php
  7. /node_modules
  8. .php_cs.cache
  9. /public/s9e.js
  10. /public/storage
  11. /storage/install.lock
  12. /public/docs
  13. /public/api-docs
  14. /public/manual-h5
  15. /public/manual-admin
  16. /plugin/CustomIfram2
复制代码

/frame
这个要注释掉(不忽略),后边我会告诉你干什么用
/public
前端代码,这里放的是产物,不是前端源码,直接忽略
/vendor
整个 dzq 项目所需要的,已经下载好的所有 composer 依赖,因为后边咱们可以自己处理 composer 包了,所以这里直接忽略掉
/config/config.php
配置文件,这里因为需要使用开发版的数据库连接地址,所以忽略
剩下的内容也是直接忽略即可,我不再多解释其他的目录的作用了
修复 composer.json
最后一版 DZQ 已经过去两年了,大部分 composer 包已经有了更新的版本,但是部分包可能不兼容目前的 DZQ3.0 后端,所以暂时先锁定目前已有的包的版本
require 字段:
直接改成我这样既可
  1. "require": {
  2.         "php": "^7.2.5",
  3.         "ext-json": "*",
  4.         "ext-pdo": "*",
  5.         "discuz/core": "dev-3.0-dev",
  6.         "doctrine/dbal": "2.13.2",
  7.         "endroid/qr-code": "3.9.6",
  8.         "ezyang/htmlpurifier": "v4.13.0",
  9.         "league/omnipay": "v3.0.2",
  10.         "lokielse/omnipay-wechatpay": "v3.0.11",
  11.         "overtrue/wechat": "4.4.2",
  12.         "qcloud/vod-sdk-v5": "v2.4.4",
  13.         "qcloud_sts/qcloud-sts-sdk": "3.0.6",
  14.         "s9e/text-formatter": "2.9.3",
  15.         "zircote/swagger-php": "^3.2"
  16.     },
复制代码

require-dev 字段
改成这样:
  1. "require-dev": {
  2.         "friendsofphp/php-cs-fixer": "v2.19.0",
  3.         "symfony/var-dumper": "v4.4.26"
  4.     },
复制代码

这样改这两个字段的作用,是直接硬锁定 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 就可以正常使用了
回复

使用道具 举报

3

主题

13

回帖

22

积分

初学乍练

贡献
0 点
金币
5 个
 楼主| 发表于 2024-5-20 15:35:57 | 查看全部
帖子备份:https://tbl.adskn.com/detail/408
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 关注公众号
  • 有偿服务微信
  • 有偿服务QQ

手机版|小黑屋|Discuz! 官方交流社区 ( 皖ICP备16010102号 |皖公网安备34010302002376号 )|网站地图|star

GMT+8, 2025-4-30 18:10 , Processed in 0.036501 second(s), 8 queries , Redis On.

Powered by Discuz! W1.0 Licensed

Cpoyright © 2001-2025 Discuz! Team.

关灯 在本版发帖
有偿服务QQ
有偿服务微信
返回顶部
快速回复 返回顶部 返回列表