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 !"}