yeyupl/swoole-framework
Composer 安装命令:
composer require yeyupl/swoole-framework
包简介
PHP Networking framework & Application Server.
README 文档
README
与其他Web框架不同,SwooleFramework是一个全功能的后端服务器框架。除了Web方面的应用之外,更广泛的后端程序中都可以使用。
- 内置PHP应用服务器,可脱离nginx/php-fpm/apache独立运行
- 配置化与资源自动工厂,可实现从配置中创建资源对象,完全无需new对象
- 全面采用命名空间+autoload,代码中无需任何的include/require
- 全局注册树,所有资源都挂载到全局树上,彻底实现资源的单例管理和懒加载
- 全栈框架,提供了数据库操作,模板,Cache,日志,队列,上传管理,用户管理等几乎所有的功能
PHP版本需求: PHP5.4/PHP5.5/PHP5.6/PHP7.0/PHP7.1,不支持PHP5.3
应用服务器
使用内置应用服务器,可节省每次请求代码来的额外消耗。连接池技术可以很好的帮助存储系统节省连接资源。
Swoole应用服务器支持的特性
- 热部署,代码更新后即刻生效。依赖runkit扩展( https://github.com/zenovich/runkit )
- MaxRequest进程回收机制,防止内存泄露
- 支持使用Windows作为开发环境
- http KeepAlive,可节省tcp connect带来的开销
- 静态文件缓存,节省流量
- 支持Gzip压缩,节省流量
- 支持MySQL重新连接
- 支持文件上传
- 支持POST大文本
- 支持Session/Cookie
- 支持Http/FastCGI两种协议
Swoole框架额外提供的网络协议
- WebSocket协议支持,并附带一个基于websocket协议的webim系统
- 普通Web服务器,可支持静态文件和普通include php方式的程序
- SOA逻辑层服务器/客户端,支持并行请求
- 一个简单的SMTP服务器
- FtpServer
- 异步HttpClient
在线体验地址:http://www.swoole.com/page/index/
SwooleFramework应用服务器,需要安装swoole扩展。
pecl install swoole
然后修改php.ini加入extension=swoole.so
<?php require __DIR__.'/libs/lib_config.php'; $AppSvr = new Swoole\Protocol\AppServer(); $AppSvr->loadSetting(__DIR__."/swoole.ini"); //加载配置文件 $AppSvr->setAppPath(__DIR__.'/apps/'); //设置应用所在的目录 $AppSvr->setLogger(new Swoole\Log\EchoLog(false)); //Logger /** *如果你没有安装swoole扩展,这里还可选择 * BlockTCP 阻塞的TCP,支持windows平台,需要将worker_num设为1 * SelectTCP 使用select做事件循环,支持windows平台,需要将worker_num设为1 * EventTCP 使用libevent,需要安装libevent扩展 */ $server = new \Swoole\Network\Server('0.0.0.0', 8888); $server->setProtocol($AppSvr); $server->daemonize(); //作为守护进程 $server->run(array('worker_num' => 1, 'max_request' => 5000));
php server.php [2013-07-09 12:17:05] Swoole. running. on 0.0.0.0:8888
在浏览器中打开 http://127.0.0.1:8888/
Nginx+FPM+Swoole框架的URLRewrite配置
server {
listen 80;
server_name www.swoole.com;
root /data/wwwroot/www.swoole.com;
location / {
if (!-e $request_filename){
proxy_pass http://127.0.0.1:9501;
}
}
}
Apache+Swoole框架的URLRewrite配置
<VirtualHost *:80> ServerName www.swoole.com DocumentRoot /data/webroot/www.swoole.com DirectoryIndex index.html index.php <Directory "/data/webroot/www.swoole.com"> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> # ProxyPass /admin ! # ProxyPass /index.html ! # ProxyPass /static ! # ProxyPass / http://127.0.0.1:9501/ <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ http://127.0.0.1:9501$1 [L,P] </IfModule> </VirtualHost>
yeyupl/swoole-framework 适用场景与选型建议
yeyupl/swoole-framework 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 94 次下载、GitHub Stars 达 0, 最近一次更新时间为 2018 年 03 月 11 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「framework」 「websocket」 「client」 「library」 「server」 「webserver」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 yeyupl/swoole-framework 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 yeyupl/swoole-framework 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 yeyupl/swoole-framework 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
PHP Framework HLEB2 is the foundation of the web application. Provides ease of development and application performance.
Mock PSR-18 HTTP client
Asynchronous MQTT client built on React
WebSocket view engine
Client for Google Directions API to add interpolated points to a route consisting of given coordinates.
A Flickr wrapper to allow you to call the Flickr api with Guzzle as the backend.Goal is to have 100% Flickr api coverage rather than just upload/display photos (currently at 23%).
统计信息
- 总下载量: 94
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 17
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2018-03-11