JKDYAF - V2.0.0

基于 YAF + SWOOLE APi框架

       ____ __ ______  _____    ______      / / //_// __ \ \/ /   |  / ____/ __  / / ,<  / / / /\  / /| | / /_/ /_/ / /| |/ /_/ / / / ___ |/ __/\____/_/ |_/_____/ /_/_/  |_/_/

介绍

简略、间接、非传统

JkdYaf 一个简略、高性能常驻内存的PHP框架。

基于Yaf与Swoole开发,性能较传统基于 PHP-FPM 的框架有质的晋升。

一款专为Api开发的轻量级框架。一款面向中小型企业级我的项目的高可用、低门槛PHP开源框架。

具体文档

个性

  • HTTP 服务
  • Redis连接池
  • Jwt 认证
  • 协程化
  • 定时工作
  • 日志治理
  • 路由治理
  • Yac无锁共享内存

服务器要求

  • php 7.x 或更高版本
  • yaf 3.3.x 或更高版本
  • swoole 5.4.x 或更高版本
  • mysql
  • redis
  • yac

装置JkdYaf

git clone https://github.com/crytjy/JkdYaf.git

php.ini配置

extension=yaf.so[yaf]   yaf.environ=productyaf.cache_config=1yaf.use_namespace=1yaf.library="/path/JkdYafLibrary/"  //全局类库的目录门路    extension=yac.so[yac];是否开启yac,1示意开启, 0示意敞开yac.enable=1 ;4M能够失去32768个key, 32M能够失去262144个keyyac.keys_memory_size=4M;申请的最大value内存yac.values_memory_size = 64M ;是否压缩数据ssyac.compress_threshold = '-1' ;敞开在cli下应用yacyac.enable_cli = 1
批改后须要重启php service php-fpm restart

app.ini配置

我的项目conf/app.ini

[common]application.directory = APP_PATH "/app"application.dispatcher.catchException = TRUEapplication.dispatcher.throwException = TRUE;本地类库application.library = APP_PATH "/library"application.library.namespace = "Com";多模块(多个模块)application.modules = "Api";域名siteUrl = "http://localhost/";公共类库门路 (该门路必须和php.ini配置里填写的统一)comLibsPath = "/www/wwwroot/yaf/yafLibrary/"#数据库配置[db]db.host = "localhost"db.port = 3306db.dbname = "dbname"db.username = "username"db.password = "password~"db.charset = "utf8mb4"#日志配置[log];日志保留天数log.day = 7;日志门路log.path = APP_PATH "/runtime/log/"[product : common : db : log]

jkdYaf.ini配置

我的项目conf/jkdYaf.ini

; JKDYAF 配置[common]ip = "0.0.0.0"port = 12222    //监听端口,随便改app_name = JkdYaf   //项目名称(英文),多个我的项目时辨别master_process_name = JkdYaf-Mastermanager_process_name = JkdYaf-Managerevent_worker_process_name = JkdYaf-Worker-%sevent_tasker_process_name = JkdYaf-Tasker-%s; 记录master和manager的过程idpid_file = APP_PATH "/runtime/master.pid"; 记录worker的过程idworker_pid_file = APP_PATH "/runtime/worker.pid"; 记录tasker的过程idtasker_pid_file = APP_PATH "/runtime/tasker.pid"; 记录timer的过程idtimer_pid_file = APP_PATH "/runtime/timer.pid"; 以下参数依据服务器配置相应改变[server]process_num = 1worker_num = 4max_request = 30000dispatch_mode = 3log_file = APP_PATH "/runtime/swoole.log"log_rotation = SWOOLE_LOG_ROTATION_DAILY[product : common : server]

启动

配置好后,进入我的项目根目录,启动我的项目

cd /yaf/php bin/JkdYaf.php start php bin/JkdYaf.php start -d  //守护过程

浏览器拜访 http://localhost:12222/api/index

{"code":1,"message":"success","data":"Hello JkdYaf !"}