Download the PHP package garveen/laravoole without Composer
On this page you can find all versions of the php package garveen/laravoole. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package laravoole
Laravoole
Laravel on Swoole Or Workerman
10x faster than php-fpm
Depends On
php | >=5.5.16 |
laravel/laravel | ^ 5.1 |
Suggests
php | >=7.0.0 |
ext-swoole | >=1.7.21 |
workerman/workerman | >=3.0 |
Install
To get started, add laravoole to you composer.json file and run composer update
:
or just run shell command:
Once composer done its job, you need to register Laravel service provider, in your config/app.php:
Notice: You should NOT use file session handler, because it is not stable at this environement. Use redis or other handler instead.
Usage
Migrations
Upgrade to 0.4
Event names has changed:
laravoole.on_request
=>laravoole.requesting
laravoole.on_requested
=>laravoole.requested
laravoole.swoole.websocket.on_close
=>laravoole.swoole.websocket.closing
Config
To generate config/laravoole.php
:
Most of things can be configured with .env
, and you should use LARAVOOLE_{UPPER_CASE}
format, for example,
is equals with
Events
You can handle events by editing EventServiceProvider
:
laravoole.requesting
(Illuminate\Http\Request
)laravoole.requested
(Illuminate\Http\Request
,Illuminate\Http\Response
)laravoole.swoole.websocket.closing
(Laravoole\Request
, int$fd
)
base_config
This section configures laravoole itself.
mode
SwooleHttp
uses swoole to response http requests
SwooleFastCGI
uses swoole to response fastcgi requests (just like php-fpm)
SwooleWebSocket
uses swoole to response websocket requests AND http requests
WorkermanFastCGI
uses workerman to response fastcgi requests (just like php-fpm)
user defined wrappers
You can make a new wrapper implements Laravoole\Wrapper\ServerInterface
, and put its full class name to mode
.
pid_file
Defines a file that will store the process ID of the main process.
deal_with_public
When using Http mode, you can turn on this option to let laravoole send static resources to clients. Use this ONLY when developing.
host and port
Default host
is 127.0.0.1
, and port
is 9050
handler_config
This section configures the backend, e.g. swoole
or workerman
.
Swoole
As an example, if want to set worker_num to 8, you can set .env
:
or set config/laravoole.php
:
See Swoole's document:
Workerman
As an example, if want to set worker_num to 8, you can set .env
:
or set config/laravoole.php
:
See Workerman's document:
Websocket Usage
Subprotocols
See Mozilla's Document: Writing WebSocket server
The default subprotocol is jsonrpc, but has some different: params
is an object, and two more properties:
status
as HTTP status code
method
is the same as request's method
You can define your own subprotocol, by implements Laravoole\WebsocketCodec\CodecInterface
and add to config/laravoole.php
.
Client Example:
Work with nginx
License
MIT
All versions of laravoole with dependencies
ext-posix Version *
symfony/psr-http-message-bridge Version ^1.0
garveen/fastcgi Version ^0.1
zendframework/zend-diactoros Version ^1.3
laravel/framework Version ~5.1