作者:mobiledu2502858723 | 来源:互联网 | 2023-05-17 19:03
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=product
yaf.cache_cOnfig=1
yaf.use_namespace=1
yaf.library="/path/JkdYafLibrary/" //全局类库的目录门路
extension=yac.so
[yac]
;是否开启yac,1示意开启, 0示意敞开
yac.enable=1
;4M能够失去32768个key, 32M能够失去262144个key
yac.keys_memory_size=4M
;申请的最大value内存
yac.values_memory_size = 64M
;是否压缩数据ss
yac.compress_threshold = '-1'
;敞开在cli下应用yac
yac.enable_cli = 1
批改后须要重启php service php-fpm restart
app.ini配置
我的项目conf/app.ini
[common]
application.directory = APP_PATH "/app"
application.dispatcher.catchException = TRUE
application.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 = 3306
db.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-Master
manager_process_name = JkdYaf-Manager
event_worker_process_name = JkdYaf-Worker-%s
event_tasker_process_name = JkdYaf-Tasker-%s
; 记录master和manager的过程id
pid_file = APP_PATH "/runtime/master.pid"
; 记录worker的过程id
worker_pid_file = APP_PATH "/runtime/worker.pid"
; 记录tasker的过程id
tasker_pid_file = APP_PATH "/runtime/tasker.pid"
; 记录timer的过程id
timer_pid_file = APP_PATH "/runtime/timer.pid"
; 以下参数依据服务器配置相应改变
[server]
process_num = 1
worker_num = 4
max_request = 30000
dispatch_mode = 3
log_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 !”}