Download the PHP package puper/laravoole without Composer
On this page you can find all versions of the php package puper/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/framework | 5.1.* | 5.2.* | 5.3.* |
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
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
By now, there are only two events, laravoole.on_request
and laravoole.swoole.websocket.on_close
. You can handle events by editing EventServiceProvider
:
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)
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