# uknow
**Repository Path**: uknowing/uknow
## Basic Information
- **Project Name**: uknow
- **Description**: UKnowing一款基于TP6开发的社交化知识付费问答系统、企业内部知识库系统,打造私有社交化问答、内部知识存储
- **Primary Language**: PHP
- **License**: GPL-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 12
- **Forks**: 6
- **Created**: 2021-08-22
- **Last Updated**: 2024-02-01
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# UKnowing知识问答系统
#### 介绍
UKnowing一款基于TP6开发的社交化知识付费问答系统、企业内部知识库系统,打造私有社交化问答、内部知识存储
#### 软件架构
thinkphp6
#### 使用说明
官方交流社区[https://ask.uknowing.com](https://ask.uknowing.com)
UKnowing的环境要求如下:
PHP >= 7.1.0
可用的 www 服务器,如 Apache、IIS、nginx, 推荐使用性能高效的 nginx
MySQL 5.7 以上, 服务器需要支持 MySQLi 或 PDO_MySQ
安装Composer
如果还没有安装 Composer,在 Linux 和 Mac OS X 中可以运行如下命令:
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
在 Windows 中,你需要下载并运行 Composer-Setup.exe。
如果遇到任何问题或者想更深入地学习 Composer,请参考Composer 文档(英文文档,中文文档)。
由于众所周知的原因,国外的网站连接速度很慢。因此安装的时间可能会比较长,我们建议使用国内镜像(阿里云)。
打开命令行窗口(windows用户)或控制台(Linux、Mac 用户)并执行如下命令:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
安装程序
Gitee下载程序源代码 https://gitee.com/uknowing/uknow
1. 上传 解压后 目录中的文件到服务器,根目录执行 composer update更新composer包
2. 设置目录属性(windows 服务器可忽略这一步)
以下这些目录需要可读写权限
./
./runtime
./public/uploads
./config
./install/lock/
3. 执行安装脚本
直接在浏览器里面访问 http://您的域名/install.php;
4. 参照页面提示,进行安装,直至安装完毕
## 下载
* 官网下载:[https://www.uknowing.com/download/](https://www.uknowing.com/download/)
* GitHub仓库:[https://github.com/caiweiming/DolphinPHP.git](https://github.com/caiweiming/DolphinPHP.git)
* 码云仓库:[https://gitee.com/uknowing/uknow](https://gitee.com/uknowing/uknow.git)
## URL重写
可以通过URL重写隐藏应用的入口文件`index.php`(也可以是其它的入口文件,但URL重写通常只能设置一个入口文件),下面是相关服务器的配置参考:
### \[ Apache \]
1. `httpd.conf`配置文件中加载了`mod_rewrite.so`模块
2. `AllowOverride None`将`None`改为`All`
3. 把下面的内容保存为`.htaccess`文件放到应用入口文件的同级目录下
~~~
Options +FollowSymlinks -Multiviews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
~~~
### \[ IIS \]
如果你的服务器环境支持`ISAPI_Rewrite`的话,可以配置`httpd.ini`文件,添加下面的内容:
~~~
RewriteRule (.*)$ /index\.php\?s=$1 [I]
~~~
在IIS的高版本下面可以配置`web.Config`,在中间添加`rewrite`节点:
~~~
~~~
### \[ Nginx \]
在Nginx低版本中,是不支持PATHINFO的,但是可以通过在`Nginx.conf`中配置转发规则实现:
~~~
location / { // …..省略部分代码
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
}
}
~~~
## 安装系统
如果第一次安装框架,会出现安装引导,请一步步按指引安装即可。
运行http://你的域名/install.php
> 如果安装过程中,遇到问题,可到[https://ask.uknowing.com/](https://ask.uknowing.com/) 进行提问
## 目录结构
~~~
├─app 应用目录
│ ├─admin 系统后台目录
│ │ ├─common.php 函数文件
│ │ ├─backend 后台控制器目录
│ │ ├─model 模型目录
│ │ ├─view 视图目录
│ │ ├─config 配置目录
│ │ ├─route 路由目录
│ │ └─ ... 更多类库目录
│ ├─ask 系统问答模块目录
│ │ ├─common.php 函数文件
│ │ ├─frontend 前台控制器目录
│ │ ├─backend 后台控制器目录
│ │ ├─api 接口控制器目录
│ │ ├─wechat 微信控制器目录
│ │ ├─wap WAP控制器目录
│ │ ├─model 模型目录
│ │ ├─view 视图目录
│ │ ├─config 配置目录
│ │ ├─route 路由目录
│ ├─common.php 公共函数文件
│ └─event.php 事件定义文件
│ ├─commom 系统公用模块目录
│ │ ├─common.php 函数文件
│ │ ├─controller 公用控制器目录
│ │ ├─library 系统公用拓展目录
│ │ │ ├─bulider 系统表单/表格构造器
│ │ │ ├─helper 系统公用方法
│ │ ├─model 模型目录
│ │ ├─view 视图目录
│ │ ├─config 配置目录
│ │ ├─route 路由目录
│ ├─common.php 公共函数文件
│ └─event.php 事件定义文件
│
├─config 全局配置目录
│ ├─app.php 应用配置
│ ├─cache.php 缓存配置
│ ├─console.php 控制台配置
│ ├─cookie.php Cookie配置
│ ├─database.php 数据库配置
│ ├─filesystem.php 文件磁盘配置
│ ├─lang.php 多语言配置
│ ├─log.php 日志配置
│ ├─middleware.php 中间件配置
│ ├─route.php URL和路由配置
│ ├─session.php Session配置
│ ├─trace.php Trace配置
│ └─view.php 视图配置
│
├─public WEB目录(对外访问目录)
│ ├─index.php 入口文件
│ ├─router.php 快速测试文件
│ ├─templates 前台模板目录
│ ├─static 公用资源目录
│ └─.htaccess 用于apache的重写
│
├─extend 扩展类库目录
├─runtime 应用的运行时目录(可写,可定制)
├─vendor Composer类库目录
├─.example.env 环境变量示例文件
├─composer.json composer 定义文件
├─LICENSE.txt 授权说明文件
├─README.md README 文件
├─think 命令行入口文件
~~~
#### 参与贡献
1. Fork 本仓库
2. 新建 Feat_xxx 分支
3. 提交代码
4. 新建 Pull Request