Skip to content
This repository has been archived by the owner on Sep 1, 2020. It is now read-only.

Commit

Permalink
[2019/03/05 12:39] Auto update by script
Browse files Browse the repository at this point in the history
  • Loading branch information
twose committed Mar 5, 2019
1 parent f9b2ca6 commit eacd2f1
Show file tree
Hide file tree
Showing 708 changed files with 5,618 additions and 3,178 deletions.
1,135 changes: 584 additions & 551 deletions README.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion doc/1 - 入门指引.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
`Swoole`虽然是标准的PHP扩展,实际上与普通的扩展不同。普通的扩展只是提供一个库函数。而swoole扩展在运行后会接管PHP的控制权,进入事件循环。当IO事件发生后,swoole会自动回调指定的`PHP`函数。

* 新手入门教程:[https://github.com/LinkedDestiny/swoole-doc](https://github.com/LinkedDestiny/swoole-doc) (已停更)
* Easy Swoole (Swoole 简明指南)[https://linkeddestiny.gitbooks.io/easy-swoole/content/](https://linkeddestiny.gitbooks.io/easy-swoole/content/)
* Swoole 简明指南:[https://linkeddestiny.gitbooks.io/easy-swoole/content/](https://linkeddestiny.gitbooks.io/easy-swoole/content/)

`Swoole`要求使用者必须具备一定的`Linux/Unix`环境编程基础,[《学习Swoole需要掌握哪些基础知识》](https://wiki.swoole.com/wiki/page/487.html) 本文列出了基础知识清单。

Expand Down
10 changes: 6 additions & 4 deletions doc/1.1 - 环境依赖.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@
PHP版本依赖
----------
* `Swoole-1.x`需要 `PHP-5.3.10` 或更高版本
* `Swoole-2.x`需要 `PHP-7.0.0` 或更高版本
* `Swoole-4.x`需要 `PHP-7.1.0` 或更高版本
* `Swoole-4.x`需要 `PHP-7.0.0` 或更高版本
* 不依赖 `PHP``stream``sockets``pcntl``posix``sysvmsg` 等扩展。`PHP` 只需安装最基本的扩展即可
* Swoole对PHP版本支持和PHP官方维护版本保持一致。[PHP版本支持时间表](http://php.net/supported-versions.php "PHP版本支持时间表")


ARM平台(树莓派Raspberry PI)
Expand All @@ -28,7 +28,7 @@ MIPS平台(OpenWrt路由器)
* 请使用 swoole-1.7.21 或更高版本
* 使用 GCC 交叉编译

CygWin环境支持(Windows系统)
Cygwin环境支持(Windows系统)
------------
swoole-1.7.7 增加了对 cygwin 环境的支持,在 Windows 环境下,可以直接使用 cygwin + php 来跑 swoole 程序。

Expand All @@ -38,6 +38,8 @@ swoole-1.7.7 增加了对 cygwin 环境的支持,在 Windows 环境下,可

> cygwin 模式下需要对 PHP 进行简化,去掉不使用的扩展,避免进程占用内存过大,导致 Fork 操作失败
> 目前提供 Cygwin 二进制包,可以在官网进行下载:[https://www.swoole.com/page/download](https://www.swoole.com/page/download) ,如有问题请反馈至开发组邮箱 [email protected]
BashOnWindows
-----------
Windows 10 系统增加了 Linux 子系统支持,BashOnWindows 环境下也可以使用 swoole。安装命令
Expand All @@ -55,7 +57,7 @@ cd /etc/php/7.0/fpm/conf.d/ && ln -s ../../mods-available/swoole.ini 20-swoole.i

DockerOnWindows
---------------
`Windows` 下开发可以使用 `Hyper-V+Docker` 来方便的开发 `Swoole` 应用,安装好 `Docker` 后再 `Settings` 里的 `Shared Droves` 选项里共享代码所在磁盘。然后使用如下命令来快速启动 `Docker` 容器。
`Windows` 下开发可以使用 `Hyper-V+Docker` 来方便的开发 `Swoole` 应用,安装好 `Docker` 后再 `Settings` 里的 `Shared Drives` 选项里共享代码所在磁盘。然后使用如下命令来快速启动 `Docker` 容器。

```
docker run --rm -t -i --name myapp -p 9501:9501 -v e:/path/to:/app:rw xutongle/php:7.1-fpm /bin/bash
Expand Down
15 changes: 14 additions & 1 deletion doc/1.12 - 衍生开源项目.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,19 @@

应用项目
----
* [SMProxy](https://github.com/louislivi/smproxy) 一个基于mysql协议,swoole 开发的mysql数据库连接池。将数据库连接作为对象存储在内存中,当用户需要访问数据库时,首次会建立连接,后面并非建立一个新的连接,而是从连接池中取出一个已建立的空闲连接对象。使用完毕后,用户也并非将连接关闭,而是将连接放回连接池中,以供下一个请求访问使用。而连接的建立、断开都由连接池自身来管理。同时,还可以通过设置连接池的参数来控制连接池中的初始连接数、连接的上下限数以及每个连接的最大使用次数、最大空闲时间等等。也可以通过其自身的管理机制来监视数据库连接的数量、使用情况等。超出最大连接数会采用协程挂起 等到有连接关闭再恢复协程继续操作。能够大幅度降低数据库压力,提升数据库操作效率。
```
支持读写分离
支持数据库连接池,能够有效解决PHP带来的数据库连接瓶颈
支持SQL92标准
遵守Mysql原生协议,跨语言,跨平台的通用中间件代理。
支持多个数据库连接,多个数据库,多个用户,灵活搭配。
支持mysql事物
采用协程调度
支持 HandshakeV10 协议版本
完美兼容mysql5.6-5.7
兼容各大框架,无缝提升性能
```
* [zchat](https://github.com/shenzhe/zchat) 基于zphp框架和swoole扩展开发的PHP网页即时聊天室系统。
* [PHPWebIM](https://github.com/matyhtf/phpwebim) 基于swoole扩展开发的websocket网页聊天系统
* [swoole_flash_game](https://github.com/matyhtf/swoole_flash_game) 基于swoole扩展开发的flash游戏,可与服务器实时交互
Expand All @@ -44,7 +57,7 @@ HTTP 应用框架

* [FastD](https://github.com/JanHuang/fastD) 适用于对性能有要求的 API 场景,并且灵活的扩展性可以让开发者们更容易地建造自己的服务。支持HTTP、TCP、UDP、WebSocket,简单,易用。

* [LaravelS](https://github.com/hhxsv5/laravel-s) 基于Swoole加速Laravel/Lumen,常驻内存,内置HTTP/WebSocket Server,支持TCP/UDP Server、协程的查询构造器与ORM(MySQL)、自定义进程、异步的事件监听、异步任务队列、毫秒级定时任务、平滑Reload,与Nginx配合搭建高可用分布式服务器群,开箱即用。
* [LaravelS](https://github.com/hhxsv5/laravel-s) 基于Swoole加速Laravel/Lumen,常驻内存,内置HTTP/WebSocket Server,支持TCP/UDP Server、自定义进程、异步的事件监听、异步任务队列、毫秒级定时任务、平滑Reload,与Nginx配合搭建高可用分布式服务器群,开箱即用。

* [Yii2-Swoole](https://github.com/tsingsun/yii2-swoole) 支持基于Yii2框架运行于Swoole中,同时可以很简单的支持Swool 4.0协程与非协程,自带mysql,redis连接池,可以使用Yii2的全栈框架来开发HTTP,WebSocket等网络服务。
```
Expand Down
7 changes: 6 additions & 1 deletion doc/1.12.1 - 框架.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,15 @@ MixPHP
[MixPHP](http://www.mixphp.cn/) 是一款基于 Swoole 的FPM、常驻内存、协程三模 PHP 高性能框架,MixPHP 秉承 "普及 PHP 常驻内存型解决方案,促进 PHP 往更后端发展" 的理念而创造,采用 Swoole 扩展作为底层引擎,围绕常驻内存的方式而设计,提供了 HTTP / WebSocket / Console 开发所需的众多开箱即用的组件,在其他 Swoole 框架都定位于大中型团队、庞大的 PHP 应用集群的时候,MixPHP 决定推动这项技术的普及,我们定位于众多的中小型企业、创业型公司,我们将 Swoole 的复杂度封装起来,用简单的编码方式呈现给用户,让更多的中级程序员也可打造高并发系统,努力让 Swoole 不再只是高级程序员的专利。

---
Swoolefy
---

[swoolefy](https://github.com/bingcool/swoolefy)是一个基于swoole实现的轻量级高性能的常驻内存型的API和Web应用服务框架,高度封装了http,websocket,udp服务器,以及基于tcp实现可扩展的rpc服务, 同时支持composer包方式安装部署项目。基于简单易用,swoolefy抽象Event事件处理类, 实现与底层的回调的解耦,支持swoole原生协程,协程实例应用注册,组件依赖注入,全局事件注册,异步任务管理,自定义进程管理,RPC服务,mysql,redis连接池,支持基于自定义进程的redis,rabitmq,kafka的订阅发布,crontab定时任务等等,让更多phper能够高效低成本开发出常驻内存应用服务。

---
* [Tencent-TSF](https://github.com/tencent-php/tsf) 腾讯公司推出的PHP协程框架,基于Swoole+PHP Generator实现Coroutine,可以像Golang一样用协程实现高并发服务器。
* [swoole_framework](https://github.com/matyhtf/swoole_framework)基于swoole扩展开发的通用后端服务框架,包含了内置PHP应用服务器、FastCGI、WebSocket、Web框架等丰富的功能特性
* [LaravelS](https://github.com/hhxsv5/laravel-s) 基于Swoole加速Laravel/Lumen,常驻内存,内置HTTP/WebSocket Server,支持TCP/UDP Server、协程的查询构造器与ORM(MySQL)、自定义进程、异步的事件监听、异步任务队列、毫秒级定时任务、平滑Reload,与Nginx配合搭建高可用分布式服务器群,开箱即用。
* [LaravelS](https://github.com/hhxsv5/laravel-s) 基于Swoole加速Laravel/Lumen,常驻内存,内置HTTP/WebSocket Server,支持TCP/UDP Server、自定义进程、异步的事件监听、异步任务队列、毫秒级定时任务、平滑Reload,与Nginx配合搭建高可用分布式服务器群,开箱即用。
* [zphp](https://github.com/shenzhe/zphp)一个极轻的的,专用于游戏(社交,网页,移动)的服务器端开发框架.提供高性能实时通信方案。zphp使用swoole作为底层网络通信的框架。
* [zapi](https://github.com/keaixiaou/zapi) 基于swoole+generator的http api异步非阻塞轻量级框架,内置mysql、redis、memcached、mongodb全套异步客户端的连接池,内置http异步客户端,近乎同步的写法,却是异步的调用,性能强悍
* [zhttp](https://github.com/keaixiaou/zhttp) 基于swoole+generator的异步非阻塞轻量级web框架,内置mysql、redis、memcached、mongodb全套异步客户端的连接池,内置http异步客户端,近乎同步的写法,却是异步的调用,性能强悍
Expand Down
14 changes: 14 additions & 0 deletions doc/1.12.2 - 工具.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
# 工具

* [SMProxy](https://github.com/louislivi/smproxy) 一个基于mysql协议,swoole 开发的mysql数据库连接池。将数据库连接作为对象存储在内存中,当用户需要访问数据库时,首次会建立连接,后面并非建立一个新的连接,而是从连接池中取出一个已建立的空闲连接对象。使用完毕后,用户也并非将连接关闭,而是将连接放回连接池中,以供下一个请求访问使用。而连接的建立、断开都由连接池自身来管理。同时,还可以通过设置连接池的参数来控制连接池中的初始连接数、连接的上下限数以及每个连接的最大使用次数、最大空闲时间等等。也可以通过其自身的管理机制来监视数据库连接的数量、使用情况等。超出最大连接数会采用协程挂起 等到有连接关闭再恢复协程继续操作。能够大幅度降低数据库压力,提升数据库操作效率。
```
支持读写分离
支持数据库连接池,能够有效解决PHP带来的数据库连接瓶颈
支持SQL92标准
遵守Mysql原生协议,跨语言,跨平台的通用中间件代理。
支持多个数据库连接,多个数据库,多个用户,灵活搭配。
支持mysql事物
采用协程调度
支持 HandshakeV10 协议版本
完美兼容mysql5.6-5.7
兼容各大框架,无缝提升性能
```

* [swoole-ide-helper](https://github.com/EagleWu/swoole-ide-helper) 在IDE下自动识别swoole 扩展的类、函数、宏,自动补全函数名
* [swoole-crontab](https://github.com/osgochina/swoole-crontab) 基于swoole的定时器程序,支持秒级处理.
异步多进程处理。完全兼容crontab语法,且支持秒的配置
Expand Down
15 changes: 15 additions & 0 deletions doc/1.12.3 - 分布式.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
# 分布式

SMProxy
-------
[SMProxy](https://github.com/louislivi/smproxy) 一个基于mysql协议,swoole 开发的mysql数据库连接池。将数据库连接作为对象存储在内存中,当用户需要访问数据库时,首次会建立连接,后面并非建立一个新的连接,而是从连接池中取出一个已建立的空闲连接对象。使用完毕后,用户也并非将连接关闭,而是将连接放回连接池中,以供下一个请求访问使用。而连接的建立、断开都由连接池自身来管理。同时,还可以通过设置连接池的参数来控制连接池中的初始连接数、连接的上下限数以及每个连接的最大使用次数、最大空闲时间等等。也可以通过其自身的管理机制来监视数据库连接的数量、使用情况等。超出最大连接数会采用协程挂起 等到有连接关闭再恢复协程继续操作。能够大幅度降低数据库压力,提升数据库操作效率。

* 支持读写分离
* 支持数据库连接池,能够有效解决PHP带来的数据库连接瓶颈
* 支持SQL92标准
* 遵守Mysql原生协议,跨语言,跨平台的通用中间件代理。
* 支持多个数据库连接,多个数据库,多个用户,灵活搭配。
* 支持mysql事物
* 采用协程调度
* 支持 HandshakeV10 协议版本
* 完美兼容mysql5.6-5.7
* 兼容各大框架,无缝提升性能

SwooleDistributed
-------
[SwooleDistributed](http://sd.youwoxing.net) swoole 分布式全栈框架框架,它的特点:
Expand Down
16 changes: 16 additions & 0 deletions doc/1.12.4 - 通信协议.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,21 @@
# 通信协议

MYSQL
----
[SMProxy](https://github.com/louislivi/smproxy) 一个基于mysql协议,swoole 开发的mysql数据库连接池。将数据库连接作为对象存储在内存中,当用户需要访问数据库时,首次会建立连接,后面并非建立一个新的连接,而是从连接池中取出一个已建立的空闲连接对象。使用完毕后,用户也并非将连接关闭,而是将连接放回连接池中,以供下一个请求访问使用。而连接的建立、断开都由连接池自身来管理。同时,还可以通过设置连接池的参数来控制连接池中的初始连接数、连接的上下限数以及每个连接的最大使用次数、最大空闲时间等等。也可以通过其自身的管理机制来监视数据库连接的数量、使用情况等。超出最大连接数会采用协程挂起 等到有连接关闭再恢复协程继续操作。能够大幅度降低数据库压力,提升数据库操作效率。
```
支持读写分离
支持数据库连接池,能够有效解决PHP带来的数据库连接瓶颈
支持SQL92标准
遵守Mysql原生协议,跨语言,跨平台的通用中间件代理。
支持多个数据库连接,多个数据库,多个用户,灵活搭配。
支持mysql事物
采用协程调度
支持 HandshakeV10 协议版本
完美兼容mysql5.6-5.7
兼容各大框架,无缝提升性能
```

MQTT
----
[swoole_mqtt_php](https://github.com/xavier-chen/swoole_mqtt_php) 基于swoole实现的mqtt协议消息通信服务器
Expand Down
16 changes: 9 additions & 7 deletions doc/1.13 - 用户与案例.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,5 @@
# 用户与案例

农博创新
------
智慧农业物联网+大数据
农博创新:<http://www.nongbotech.com>

![](http://www.swoole.com/static/uploads//wiki/201709/19/151640612443.jpg)
------

川海开源商城
-----
Expand Down Expand Up @@ -126,6 +119,15 @@ YY语音
「拍够购」 是首家日本免代购的服务平台,目前全面针对日本雅虎代购,提供代拍服务和海外直邮,自动代拍程序在上线初期使用ruby+eventmachine 开发,因性能问题更换swoole websocket 分布式客户端投标,性能问题瞬间2倍提升,也减轻服务器压力,同时基于websocket,管理员可以实时检测投标程序状态。

![拍够购](https://wiki.swoole.com/static/image/paigogo.jpg)
中午云打印机
------
<http://www.zhongwu.co>

中午云打印机依托云计算,物联网技术打造一套订单自动接单及打印平台。与传统打印机不同, 传统打印机需要依赖设备驱动、蓝牙连接,专业的人负责打印,而中午云打印基于云端开发的云打印平台,只需要连接WiFi即可自动接单打印,支持美团/饿了么/百度外卖/京东到家/小程序/口碑/微盟等20多家订单平台自动接单打印,同时公司也开放接口为第三方公司服务,适合小程序点单,外卖平台,医院、ktv、餐饮、商城、酒店、加油站等场景运用。
中午云打印机基于swoole实现了打印机与服务器端TCP长连接,使用自定义协议,订单直接从服务器PUSH,极大的提高了打印的效率,降低了服务器的负载

<img src="https://www.swoole.com/static/uploads/wiki/201812/21/649730777067.png" width="35%" alt="中午打印机设备">
<img src="https://www.swoole.com/static/uploads/wiki/201812/21/649910332323.png" width="35%" alt="中午打印机应用">

更多案例
-----
Expand Down
42 changes: 0 additions & 42 deletions doc/1.13.8 - (捞月狗) 游戏社区.md

This file was deleted.

16 changes: 0 additions & 16 deletions doc/1.15.10 - my_global.h: No such file or directory.md

This file was deleted.

Loading

0 comments on commit eacd2f1

Please sign in to comment.