This package provides a high performance HTTP server to speed up your Laravel/Lumen application based on Swoole.
PHP | Laravel | Lumen | Swoole |
---|---|---|---|
>=7.2 | >=5.5 | >=5.5 | >=4.3.1 |
Socket.io
protocol.Please see Wiki
Test with clean Lumen 5.6, using DigitalOcean 3 CPUs / 1 GB Memory / PHP 7.2 / Ubuntu 16.04.4 x64
Benchmarking Tool: wrk
wrk -t4 -c100 http://your.app
wrk -t4 -c10 http://lumen-swoole.local
Running 10s test @ http://lumen-swoole.local
4 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 6.41ms 1.56ms 19.71ms 71.32%
Req/Sec 312.99 28.71 373.00 72.00%
12469 requests in 10.01s, 3.14MB read
Requests/sec: 1245.79
Transfer/sec: 321.12KB
wrk -t4 -c10 http://lumen-swoole.local:1215
Running 10s test @ http://lumen-swoole.local:1215
4 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 2.39ms 4.88ms 105.21ms 94.55%
Req/Sec 1.26k 197.13 1.85k 68.75%
50248 requests in 10.02s, 10.88MB read
Requests/sec: 5016.94
Transfer/sec: 1.09MB
The common questions are collected in Q&A. You can go check if your question is listed in the document.
Please read Issues Guideline before you submit an issue, thanks.
Bugs and feature request are tracked on GitHub.
The Laravel-Swoole package is open-sourced software licensed under the MIT license.
Hey dude! Help me out for a couple of
1、安装 laravel7 1、composer拉取laravel7环境 cd /usr/local/nginx/html/ composer create-project --prefer-dist laravel/laravel blog "7.*" 2、设置nginx用户对laravel目录访问权限,可以通过设置ssh脚本加入到svn的钩子中对提交的文件和代码进行更新nginx用户对htm
安装swoole pecl install swoole 安装 swooletw / laravel-swoole composer install swooletw / laravel-swoole 1登录问题 在laravel中用了swooletw/laravel-swoole导致tymon/jwt-auth每次获取用户信息的时候总是返回上一次用户的信息,可以设置config/swoole
在laravel中用了swooletw/laravel-swoole导致tymon/jwt-auth每次获取用户信息的时候总是返回上一次用户的信息,可以设置config/swoole_http.php中的providers配置为: 'providers' => [ Illuminate\Pagination\PaginationServiceProvider::class,
#原来的nginx+php-fpm模式配置 server { listen 80; server_name laravel.com; index index.php; root /home/wwwroot/laravel/public; if (!-e $request_filename) { rewrite ^(.*)$ /index
php的docker容器中配置swoole 1.获取swoole安装包 PECL :: Package :: swoole 2.解压swoole安装包 tar –zxvf swoole-4.6.6.tar 3.将解压出来的安装包copy到php容器 docker cp /home/swoole php:/usr/src/php/ext/swoole 4.安装swoole docker-php-
分享链接:http://webim.xhzyxed.cn/ 源码:https://github.com/shisiying/webim 最近看了swoole的文档之后,觉得应该从项目需求的角度来增强一下学习的力度,于是有了以下这个小demo,想法参考了这个项目,这个项目没有任何框架直接使用扩展来开发,并且以文本形式存储用户数据,本项目参考了其前端页面样式以及部分逻辑使用laravel以及使用lar
用swoole 搭建服务 如果没有安装 swoole 可以参考 https://xueyuanjun.com/books/swoole-tutorial <?php //表明服务器启动后监听本地9588端口 $server = new Swoole_http_server('127.0.0.1',9588); //服务器启动时返回响应 $server->on('start', function
最近对接硬件做了两个项目,用到了swoole 第一个是门禁系统,需要远程开门、离线报警、定时开门、离线刷卡等功能 1.远程开门: 目前用cli创建个临时客户端连接服务端发送命令,服务端处理完成后客户端根据返回状态判断是否开启成功 2.离线报警 客户端断网后并不会服务端的closed()并不能检测到,所以用了swoole自带的心跳检测工具,在出发后会添加报警 3.定时开门 用swoole
场景就是在单服务器的情况下选择了一个场景,相同条件的分页请求压力下,两者的哪一个可以承载更多的请求。 **php7.3+mysql5.7+swoole(hhxsv5/laravel-s)+laravel6.2 golang1.13+beego** 数据表9个字段,数量15w,每次查询10条随机数据 验证的问题如下: 没有swoole加持的laravel以及加上了swoole的laravel存在着多
参考 参考2 另外主要用到artisan 首先创建SwooleCommand.php <?php namespace App\Console\Commands; use App\Http\Controllers\SwooleHandler;use App\Models\Logs; use App\Traits\TcpServer; use Illuminate\Console\Command;
下面的代码直接是一个类,控制器直接引用使用。使用前请确认你已经安装swoole服务和redis服务。我的laravel版本是5.5,swoole版本是最新的。我的生产项目中主要只使用了find方法,其他几个方法仅供参考,使用请谨慎~ <?php /** * Created by PhpStorm. * User: Aicken.peng * Date: 2019/9/11 * Time:
php是脚本语言,由于脚本语言本身的运行机制,导致运行速度不如Java、go之类的编译型的语言。Laravel作为php编写的MVC框架,由于集成度很高,每次运行都加载了大量文件,加之使用了大量的闭包、魔术方法,导致laravel框架很重,并发性能极差。OPcache和Swoole都是php的扩展,可以用来加快php程序的响应速度,本文旨在比较这两个扩展分别开启后对Laravel应用的加速效果。
1.创建laravel自定义命令 php artisan make:command Haha 2.打开app/Console/Commands/Haha.php <?php namespace App\Console\Commands; use App\Sockets\SmartCare\WristMixTcpClient; use Illuminate\Console\Command;
1、创建WsSwoole.php文件(大驼峰命名,自命名) 在项目根目录执行以下命令 #在app/Console/Commands增加一个Swoole.php的文件 php artisan make:command WsSwoole 2、在Kernel.php里增加命令列表(如果定时任务必须加,这个可加可不加,建议加) Commands\Swoole::Class <?php names
基于swoole的redis连接池 适合场景 连接池仅在超大型应用中才有价值,连接池并没有提高redis的查询速度,连接池是用来保护数据库的,限制连接数,为了避免连接过多导致数据库崩溃,不是用来提升性能的 redis连接池 redisPool 封装目录结构 ├─Provider --------- 服务提供者 │ ├─AppServiceProvider.php ------ 注册服务提供者
使用swoole改造laravel应用 标签(空格分隔): php 1. 概述 1.1 swoole介绍 Swoole 是为 PHP 开发的生产级异步编程框架。 他是一个纯 C 开发的扩展, 他允许 PHP 开发者在 PHP 中写 高性能,可扩展的并发 TCP, UDP, Unix socket, HTTP, WebSocket 服务, 而不需要拥有太多的非阻塞 I/O 编程和低级别的 Linux
Laravel 是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。 功能特点 1、语法更富有表现力 你知道下面这行代码里 “true” 代表什么意思么? $uri = Uri::create(‘some/uri’, array(), array(), tr
我需要空间/Laravel权限的帮助。当我试图分配它给我错误哎呀,看起来像出了问题。 错误 Connection.php第761行中的QueryExcema:SQLSTATE[23000]:完整性约束冲突:1048列role_id不能为空(SQL:插入到(,)值(9,))
Laravel 作为现在最流行的 PHP 框架,其中的知识较多,所以单独拿出来写一篇。 简述 Laravel 的生命周期 Laravel 采用了单一入口模式,应用的所有请求入口都是 public/index.php 文件。 注册类文件自动加载器 : Laravel通过 composer 进行依赖管理,无需开发者手动导入各种类文件,而由自动加载器自行导入。 创建服务容器:从 bootstrap/ap
简介 Laravel Scout 为 Eloquent 模型 全文搜索提供了简单的,基于驱动的解决方案。通过使用模型观察者,Scout 会自动同步 Eloquent 记录的搜索索引。 目前,Scout 自带一个 Algolia 驱动;不过,编写自定义驱动很简单, 你可以轻松的通过自己的搜索实现来扩展 Scout。 安装 首先,通过 Composer 包管理器来安装 Scout: composer
简介 Laravel 致力于让整个 PHP 开发体验变得愉快, 包括你的本地开发环境。 Vagrant 提供了一种简单,优雅的方式来管理和配置虚拟机。 Laravel Homestead 是一个官方预封装的 Vagrant box,它为你提供了一个完美的开发环境,而无需在本地机器安装 PHP 、Web 服务器和其他服务器软件。不用担心会搞乱你的操作系统!Vagrant boxes 是一次性的。如果
WebStack-Laravel 一个开源的网址导航网站项目,具备完整的前后台,您可以拿来制作自己的网址导航。 部署 克隆代码: git clone https://github.com/hui-ho/WebStack-Laravel.git 安装依赖: composer installphp artisan key:generate 编辑配置: cp .env.example .env ...D