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.requestinglaravoole.on_requested=>laravoole.requestedlaravoole.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
