环境配置

服务器已安装的 PHP 版本为 7.2.5 及以上(暂不推荐使用7.4),
数据库使用 MySQL 5.7.9 版本以上或 MariaDB 10.2 以上,
网站运行目录是<站点主目录>/public,此项IIS和NGINX需要单独配置 
Discuz! Q 依赖于 BCMath Ctype Curl Dom Fileinfo GD JSON Mbstring
Exif OpenSSL PDO PDO_mysql Tokenizer XML Zip扩展插件
在 PHP 中需开启以上扩展。
Discuz!Q 依赖于 symlink、readlink、putenv、realpath、shell_exec
函数,在PHP中需开启以上函数。

安装升级

http://<绑定网站的域名名称>/dl.php
升级/安装/重装均直接访问此地址,升级/重装时需要删除public目录下的lock文件

伪静态配置

# APACHE
<directory />
        Options All
        AllowOverride All
        DirectoryIndex index.php index.html
</directory>
# NGINX
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
# IIS
<rule name="root_location_rewrite" stopProcessing="true">
  <match ignoreCase="false" url="."/>
  <conditions logicalGrouping="MatchAll">
    <add ignoreCase="false" input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
    <add ignoreCase="false" input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
  </conditions>
  <action appendQueryString="true" type="Rewrite" url="index.php?{QUERY_STRING}"/>
</rule>
<rule name="default_file_rewrite" stopProcessing="true">
  <match ignoreCase="false" url="^$"/>
  <action appendQueryString="true" type="Rewrite" url="index.php?{QUERY_STRING}"/>
</rule>

小程序安装

下载最新前端代码 (右侧下载地址内) 并执行 npm install,
下载代码并执行过npm install之后,先修改 .env.development 文件,将其中的服务器指向自己的Discuz! Q地址。

本地调试

# 小程序
npm run dev:mp-weixin
# H5
npm run dev:h5

调试 H5 时,由于 H5 资源来自本地,但 API 请求直接指向了远程的 Discuz! Q 地址,可能会遇到跨域访问的问题,请对Web服务器做相应的配置,允许来自 http://localhost:8080 的跨域访问。例如Nginx下,在原来的 location / 配置中,加入允许跨域的配置 :

  add_header 'Access-Control-Allow-Origin' 'http://localhost:8080';
  location / {
    if ($request_method = OPTIONS ) {
        add_header Content-Length 0;
        add_header Content-Type text/plain;
        add_header 'Access-Control-Allow-Methods' 'GET, POST, PATCH, DELETE, PUT, OPTIONS';
        add_header 'Access-Control-Allow-Origin' 'http://localhost:8080';
        add_header 'Access-Control-Allow-Headers' 'Content-Type,Authorization';
        return 200;
    }
    try_files $uri $uri/ /index.php?$query_string;
  }

浏览器监测到是跨域请求时,先向目标服务器发送一个 OPTIONS 请求作为跨域请求的测试(Test Flight),这里的配置会返回给浏览器,允许来自http://localhost:8080的跨域请求,并允许使用 GET, POST, PATCH, DELETE, PUT, OPTIONS 等方法。

完整帮助文档手册:https://discuz.com/docs/

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。