·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

如何启用Discuz!Q的composer

231 2
发表于 2024-5-21 12:10:12 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
防手贱:
先整个备份你的 dzq 项目文件夹,防止出问题了之后数据无法还原

先说一下我的二开流程
我直接从服务器把所有代码打包下载下来,然后在本地创建的 git 仓库

.gitignore 文件
整个仓库拉下来之后,别忘了创建一个.gitignore 文件:
  1. # /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 字段:
直接改成我这样既可
  1. "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 字段
改成这样:
  1. "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 就可以正常使用了
我要说一句 收起回复

评论2

独家记忆Lv.8 发表于 2024-5-21 12:10:42 | 查看全部
帖子备份:https://tbl.adskn.com/detail/408
我要说一句 收起回复
AI智能体Lv.7 发表于 2025-3-16 16:08:26 | 查看全部
要启用Discuz!Q的Composer并确保其正常运行,您可以按照以下步骤操作。这些步骤将帮助您修复和配置Composer,以便在您的Discuz!Q项目中使用。

### 1. 备份项目
在开始之前,确保您已经备份了整个Discuz!Q项目文件夹。这是为了防止在操作过程中出现任何问题,导致数据丢失或无法还原。

### 2. 创建 `.gitignore` 文件
在您的项目根目录下创建一个 `.gitignore` 文件,并添加以下内容:

  1. # 忽略以下目录和文件
  2. /framework/public/vendor/
  3. /composer.lock
  4. /.idea/
  5. /config/config.php
  6. /node_modules/
  7. .php_cs.cache
  8. /public/s9e.js
  9. /public/storage/
  10. /storage/
  11. /install.lock
  12. /public/docs/
  13. /public/api-docs/
  14. /public/manual-h5/
  15. /public/manual-admin/
  16. /plugin/CustomIfram2

  17. # /frame 这个要注释掉(不忽略),后边我会告诉你干什么用
  18. # /public 前端代码,这里放的是产物,不是前端源码,直接忽略
  19. # /vendor 整个 dzq 项目所需要的,已经下载好的所有 composer 依赖,因为后边咱们可以自己处理 composer 包了,所以这里直接忽略掉
  20. # /config/config.php 配置文件,这里因为需要使用开发版的数据库连接地址,所以忽略
复制代码


### 3. 修复 `composer.json`
在您的项目根目录下找到 `composer.json` 文件,并修改 `require` 和 `require-dev` 字段,如下所示:

  1. {
  2.     "require": {
  3.         "php": "^7.2.5",
  4.         "ext-json": "*",
  5.         "ext-pdo": "*",
  6.         "discuz/core": "dev-3.0-dev",
  7.         "doctrine/dbal": "2.13.2",
  8.         "endroid/qr-code": "3.9.6",
  9.         "ezyang/htmlpurifier": "v4.13.0",
  10.         "league/omnipay": "v3.0.2",
  11.         "lokielse/omnipay-wechatpay": "v3.0.11",
  12.         "overtrue/wechat": "4.4.2",
  13.         "qcloud/vod-sdk-v5": "v2.4.4",
  14.         "qcloud_sts/qcloud-sts-sdk": "3.0.6",
  15.         "s9e/text-formatter": "2.9.3",
  16.         "zircote/swagger-php": "^3.2"
  17.     },
  18.     "require-dev": {
  19.         "friendsofphp/php-cs-fixer": "v2.19.0",
  20.         "symfony/var-dumper": "v4.4.26"
  21.     }
  22. }
复制代码


这样做的目的是锁定Composer包的版本,以确保它们与Discuz!Q 3.0后端兼容。

### 4. 修复Discuz!Q主框架
在您的Discuz!Q后端根目录下,新建一个名为 `framework` 的文件夹。然后进入 `vendor` 目录,找到 `discuz` 文件夹,再找到 `core` 文件夹。将 `core` 文件夹中的所有文件复制到 `framework` 文件夹下。

接下来,进入 `framework` 文件夹,找到 `composer.json` 文件,在 `"description"` 字段下添加一行:

  1. "version": "dev-3.0-dev",
复制代码


保存并退出。

### 5. 使用Composer安装依赖
在您的Discuz!Q根目录下,打开命令行终端(如CMD),然后运行以下命令:

  1. composer install
复制代码


如果命令成功执行并生成了一个新的 `composer.lock` 文件,说明Composer已经可以正常使用了。

### 6. 验证安装
您可以运行以下命令来验证Composer是否正确安装并配置:

  1. composer --version
复制代码


如果显示了Composer的版本信息,说明Composer已经成功安装并可以使用。

### 7. 后续操作
在完成上述步骤后,您可以继续开发或维护您的Discuz!Q项目。如果需要更新Composer依赖,可以使用以下命令:

  1. composer update
复制代码


这将根据 `composer.json` 文件中的配置更新所有依赖包。

### 总结
通过以上步骤,您已经成功启用了Discuz!Q的Composer,并修复了相关的配置问题。现在您可以继续使用Composer来管理您的项目依赖,并确保项目的稳定性和兼容性。如果在操作过程中遇到任何问题,可以参考Discuz!Q的开发手册或寻求社区的帮助。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:3.146.206.0,GMT+8, 2025-5-1 10:20 , Processed in 0.374936 second(s), 77 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表