SwooleSwoole是PHP的生产级异步编程框架。它是一个用纯C语言编写的PHP扩展,使PHP开发人员无需太多的非阻塞I/O编程和Linux内核知识,就可以在PHP中编写高性能、可扩展的并发TCP、UDP、Unixsocket、HTTP、WebSocket服务。你可以把Swoole看作NodeJS,但是对于PHP,性能更高。为什么在Swoole上运行Laravel下图说明了PHP中的生命周期。如您所见,每次运行php脚本时,PHP都需要初始化模块并为您的运行时环境启动ZendEngine。并且您的PHP脚本需要编译成OpCodes以便ZendEngine执行。然而,这个生命周期需要在每个请求上重复。因为为单个请求创建的环境将在请求过程完成后立即销毁。换句话说,在传统的PHP生命周期中,它浪费了大量时间来构建和销毁脚本执行的资源。想象一下像Laravel这样的框架,一个请求需要加载多少个文件?加载文件也有很多I/O开销。那么如果我们在Swoole之上内置一个服务器,并且所有脚本在第一次加载后都可以保留在内存中呢?这就是我们尝试在Swoole上运行Laravel的原因。Swoole可以成为强大的性能增强器,而Laravel提供了优雅的结构和代码用法。这是一个完美的组合!安装以下是swooletw/laravel-swoole的主要特性:在Swoole上运行Laravel/Lumen应用性能提升高达30倍沙箱模式隔离应用容器支持在Laravel中运行WebSocket服务器支持Socket.io协议支持Swoole表使用Composer进行跨进程数据共享:composerrequireswooletw/laravel-swoole-vvv这个包依赖于Swoole。请确保你的机器有Swoole扩展。您可以使用以下命令快速安装它:peclinstallswoole,并访问官网了解更多信息。注意:Swoole目前只支持Linux和macOS。Windows服务器不能使用Swoole。然后,添加服务提供者:如果你使用的是Laravel,请将服务提供者添加到config/app.php中的提供者数组中:['providers'=>[SwooleTW\Http\LaravelServiceProvider::class,],]如果你使用Lumen,请将以下代码添加到bootstrap/app.php:$app->register(SwooleTW\Http\LumenServiceProvider::class);它支持包自动发现。如果你运行的是Laravel5.5,你可以跳过这一步。启动并运行现在,您可以运行以下命令来启动SwooleHTTP服务器。phpartisanswoole:httpstart然后可以看到如下信息:Startingswoolehttpserver...Swoolehttpserverstarted:
