概述

更新日志

最新版本:2.8.6

每个版本的更新日志参考 语雀

查看当前版本

后端安装

源码地址

环境要求

亦可以使用phpstudy集成环境 下载地址

安装步骤

获取后端文件

你可以通过以下两种方式获取后端文件,并将文件放置(解压)到站点目录下。如果你使用phpstudy安装环境,则默认站点目录为:[你的磁盘]\phpStudy\PHPTutorial\WWW

  1. 直接下载
    image.png
  2. 使用Git: git clone https://github.com/a54552239/pearProjectApi

安装依赖

依然有两种方式安装接口运行所需的依赖

  1. Composer 下载地址
    1. 下载并安装Composer
    2. 使用原镜像地址可能会比较缓慢,可以使用 阿里云 composer 镜像官网地址,使用方式参考:https://learnku.com/php/t/30716

进入后端根目录,运行CMD,输入命令   composer install  安装依赖

  1. 下载vendor.zip,直接解压到后端根目录,覆盖原有的vendor文件夹(如果没有则创建)

MySQL配置

修改MySQL配置文件my.ini,加入一行  sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

安装Redis

  1. 下载并安装Redis,有两种安装方式
    1. msi安装,地址:https://github.com/MicrosoftArchive/redis/releasesimage.png
    2. tar.gz安装,地址:https://www.redis.net.cn/download/
      image.png
      1. 下载后解压,解压位置可以自己选择
  1. 在解压目录下打开cmd命令窗口,使用命令进行安装
  2. 安装命令  redis-server.exe --service-install  redis.windows.conf --loglevel verbose 
  3. 启动Redis
    1. 在解压目录下打开cmd命令窗口
    2. 启动服务命令: redis-server.exe  --service-start 
    3. 关闭服务命令: redis-server.exe  --service-stop 
  1. 安装PHP Redis扩展,注意选择合适当前php版本的扩展
    1. 下载 php_redis 扩展,地址:php_redis
    2. 下载 php_igbinary,地址:php_igbinary
    3. 下载后,将压缩包中的php_redis.dllphp_igbinary.dll文件放入PHP目录下的ext目录
    4. 编辑php.ini, 最后加入两行

extension=php_igbinary.dll
extension=php_redis.dll

运行

打开浏览器,输入:http://127.0.0.1/pearProjectApi 查看是否安装成功

前端安装

源码地址

环境要求

安装步骤

获取前端文件

你可以通过以下两种方式获取前端文件,文件可以放在任意目录

  1. 直接下载
    image.png
  2. 使用Git: git clone https://github.com/a54552239/pearProject

安装Node.js

下载地址 

  1. 安装node.js
  2. 安装npm淘宝镜像
    1. 运行cmd
    2. 输入: npm install -g cnpm --registry=https://registry.npm.taobao.org 

安装依赖

  1. 进入前端项目目录,运行cmd命令行
  2. 命令行输入  cnpm install  或  npm install 
  3. 修改./vue.config.js,将  DEV_URL  的值改为接口地址,如:http://127.0.0.1:8010/pearProjectApi

启动项目

  1. 在cmd命令行下输入  npm run serve 
  2. 根据提示输入网址访问
    image.png
  3. 如果上述步骤都实践成功,页面会自动跳转至安装界面,请根据提示填写数据库信息进行安装 。phpstudy集成环境下,数据库密码为root或空。
    image.png
  4. 若你需要重新执行安装流程,请将后端 data 目录下的 install.lock 文件删除
  5. 你希望手动导入数据,请将后端 data 目录下的 pearproject.sql 导入到数据库中,并在该目录下创建 install.lock 文件

打包部署

如果需要在生产环境下运行PearProject,必须先将前端文件打包后上传至服务器(不需要在服务器上打包)

修改配置

  1. 修改./src/config/config.js,将  PRO_URL  的值修改为正式接口地址,如:http://example.com/index.php
  2. 修改./vue.config.js,将  publicPath  值改为  ./ 。这个值的为打包后的index.html所引用的静态资源相对路径,请根据实际的文件位置进行调整。若你有CDN,此处可以修改为CDN地址,然后将打包的文件上传至CDN服务器。

打包命令

  1. 在前端文件跟目录下运行cmd,输入  npm run build  执行打包操作。
  2. 将dist目录下的文件上传至服务器

访问项目

跨域支持

如果你的接口地址和项目访问域名不相同,需开启跨域支持。

修改配置

  1. 修改./src/config/config.js,将crossDomain 值改为  true 
  2. 修改./src/config/config.js,将  PRO_URL  的值修改为实际接口地址

重启项目

  1. 本地开发模式:在cmd命令行下按下  ctrl+c  终止,然后输入  npm run serve 重启
  2. 打包部署:  在cmd命令行下输入  npm run build  重新进行打包操作,将dist目录下的文件上传至服务器

其他

消息推送

桌面推送

如需开启消息推送功能,需要执行以下几步操作。

后端

  1. 进入./application/common/Plugins/GateWayWorker
  2. 修改config.php,将 SERVER_ADDRESS 的值为内网IP地址,如  192.168.0.110  。端口号根据情况需改,注意服务器要放行对应的端口

如果是HTTPS协议,需要开启SSL支持。将 USE_SSL 的值修改为  true  ,修改根目录下  server.key  和  server.pem 文件,填入证书信息。

  1. Windows环境下,直接运行start_for_win.bat文件
  2. Linux环境下,运行 bash start.sh 启动服务,运行 bash stop.sh 终止服务
  3. 进入./config/config.php 修改 notice_push 的值为  true  

前端

  1. 进入 ./src/config/config.js
  2. 将 WS_URI 的值修改为相应的ip地址,如  ws://,192.168.0.110  。如果使用https,此处不能填写ip地址,需要写实际的域名,如: wss://example.com:2345  

钉钉推送

支持将消息实时推送至企业钉钉。开启前需要先到企业钉钉添加应用以获取配置所需的信息。

后端

  1. 进入./config/config.php 修改 dingtalk_push 的值为  true  
  2. 进入./config/dingtalk.php 修改 agent_id 的值为 对应的应用id

钉钉登录

支持通过钉钉登录和钉钉内免密登录
image.png

修改配置

  1. 进入./config/dingtalk.php 填写好对应的配置信息,其中 oauth->redirect 的值为 https://你的域名/index.php/index/oauth/dingTalkOauthCallback

短信

修改配置

  1. 进入 ./config/sms.php 填写对应的配置信息, debug  的值设置为  false 

参考资料 

https://github.com/overtrue/easy-sms

邮件

修改配置

  1. 进入 ./config/mail.php 填写对应的配置信息, open  的值设置为  true 

参考资料 

https://github.com/PHPMailer/PHPMailer

第三方存储

修改配置

  1. 进入 ./config/storage.php 填写对应的配置信息,修改  stoage_type  为对应的值,目前支持上传至七牛云和阿里云OSS

参考资料 

https://developer.qiniu.com/

https://help.aliyun.com/product/31815.html

系统升级

Git

通过git clone方式部署的用户,可以根据以下方式进行升级

  1. 通过  git pull  命令拉取代码
  2. 若前端代码有更新,则需要重新启动项目
  3. 若后端 ./data 目录下有新的版本文件夹,说明数据库结构有所改动,需要手动执行对应的版本升级sql文件

常见问题

访问接口404

  1. 检查前端接口地址是否配置正确
  2. 修改nginx配置文件,增加以下配置开启pathinfo路由模式
location / { 
  try_files $uri $uri/ /index.php$uri;
    if ( -f $request_filename) {  
      break;  
    }  
    if ( !-e $request_filename) {  
      rewrite ^(.*)$ /index.php/$1 last;  
      break;  
    }  
}
 location ~ \.php(.*)$ {
   fastcgi_pass   127.0.0.1:9000;
   fastcgi_index  index.php;
   fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
   fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
   fastcgi_param  PATH_INFO  $fastcgi_path_info;
   fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
   include        fastcgi_params;
}

初次运行无法跳转至安装页面

  1. 检查接口是否运行正常
  2. 检查是否成功安装redis扩展

无法下载模板/文件

需要开启php_fileinfo扩展