Discuz! 官方交流社區
標題: 如何啟用Discuz!Q的composer [打印本頁]
作者: 抄寫并背誦全文 時間: 2024-5-20 15:32
標題: 如何啟用Discuz!Q的composer
本帖最后由 抄寫并背誦全文 于 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 就可以正常使用了
作者: 抄寫并背誦全文 時間: 2024-5-20 15:35
帖子備份:https://tbl.adskn.com/detail/408
歡迎光臨 Discuz! 官方交流社區 (http://www.9999xn.com/) |
Powered by Discuz! W1.0 |