学习笔记《Swoole》

php artisan laravels start

PHP的异步、并行、高性能网络通信引擎,使用纯C语言编写,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,异步Redis,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。
Swoole内置了Http/WebSocket服务器端/客户端、Http2.0服务器端。

Swoole官网的文档不够丰富啊,这比较头疼,但大部分的问题都解释了。如果你对Swoole很感兴趣,那么看看这个Swoole入门教程。Swoole提供了多线程、长连接等很多牛逼的功能,把php上升到了一个新的台阶

composer require "kuaiapp/db" -vvv

需要实现一个简单的 PHP 长连接功能,使用 Swoole
作为最开始的尝试,转过来的一个 Swoole 的介绍:

Swoole为了提供服务,必须以CLI模式运行,什么是CLI模式呢?如果你Swoole业务代码是写在一个叫server.php的文件中,那么在命令行下输入php
server.php开启。这是比较头疼的事情,因为Laravel框架可不是这样的运转的,那如何能与Laravel结合呢?没错,自定义一条Artisan
Command,就这么简单。

安装

首先遇到的就是安装的问题,因为我用的是 XAMPP 的集成环境,所以直接安装:

先需要一个 Mac 的 autoconf 包:
brew install autoconf

然后找到 XAMPP 的bin目录,安装 Swoole:
sudo ./pecl install swoole

在 php.ini 中添加:
extension=swoole.so

重启 Apache 以后 php -m 就可以看到 Swoole 安装完成了

现在你就可以测试你的数据库查询了。

使用

首先可以以最直观的方式理解一下 Swoole
建立起来的长连接的作用,官网文档里面有一个非常直观的例子:《搭建Echo服务器》

为了方便业务逻辑的处理,需要 Swoole 可以方便的调用 Laravel
框架的功能,具体的思路是实现一个 Laravel 的 Artisan
命令,然后通过命令行的形式完成 server
的启动,可以参考这篇文章:《Laravel如何优雅的使用Swoole》

接下来会在正式环境中使用 Swoole,后续文档也会在这里慢慢补充

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

然后,依赖 kuaiapp/db澳门新葡亰赌995577, 这个包,作用是实现 Swoole\Coroutine\MySQL的伪
PDO 接口

启动laravel-s

直接套用Swoole官网的介绍:PHP的异步、并行、高性能网络通信引擎,使用纯C语言编写,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,异步Redis,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。
Swoole内置了Http/WebSocket服务器端/客户端、Http2.0服务器端。