环境配置
服务器已安装的 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/
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)