RoadRunner ⇆ Laravel bridge
Easy way for connecting RoadRunner and Laravel applications.
Require this package with composer using the one of next commands.
For Laravel versions 5.5.x
..5.7.x
with minimal PHP version 7.0 (version 1.x
is abandoned):
$ composer require avto-dev/roadrunner-laravel "^1.4"
For Laravel versions 5.5.x
..5.8.x
with minimal PHP version 7.1.3 and above:
$ composer require avto-dev/roadrunner-laravel "^2.0"
Installed
composer
is required (how to install composer).
You need to fix the major version of package.
After that you can optionally "publish" default RoadRunner configuration files into your application root directory using next command:
$ php ./artisan vendor:publish --provider='AvtoDev\RoadRunnerLaravel\ServiceProvider' --tag=rr-config
If you wants to disable package service-provider auto discover, just add into your composer.json
next lines:
{
"extra": {
"laravel": {
"dont-discover": [
"avto-dev/roadrunner-laravel"
]
}
}
}
This package allows you to use "production ready" worker for RoadRunner, that you can extend as you want.
Out of the box it supports next run parameters:
Name | Description |
---|---|
--(not-)force-https |
Force (or not) https schema usage (eg. for links generation) |
--(not-)reset-db-connections |
Drop (or not) database connections after incoming request serving |
--(not-)reset-redis-connections |
Drop (or not) Redis connections after incoming request serving |
--(not-)refresh-app |
Force refresh application instance after incoming request serving |
--(not-)inject-stats-into-request |
Inject into each Request object macros ::getTimestamp() and ::getAllocatedMemory() that returns timestamp and used allocated memory size |
--not-fix-symfony-file-validation |
Do not fix isValid method in \Symfony\Component\HttpFoundation\File\UploadedFile #10 |
Parameters should be declared in RR configuration file (eg.
./.rr.local.yml
) inhttp.workers.command
, eg.php ./vendor/bin/rr-worker --some-parameter
Also you can use next environment variables:
Environment name | Description |
---|---|
APP_BASE_PATH |
Base path to the application |
APP_BOOTSTRAP_PATH |
Path to the application bootstrap file (default: /bootstrap/app.php ) |
APP_FORCE_HTTPS |
Force https schema usage (eg. for links generation) |
RR_WORKER_CLASS |
Worker class name (default: \AvtoDev\RoadRunnerLaravel\Worker\Worker ) |
For forcing https
schema usage you can pass special HTTP header FORCE-HTTPS
with any non-empty value.
You can extend this worker as you wish, for more information - "Look into the sources, Luke!".
For package testing we use phpunit
framework. Just write into your terminal (installed docker-ce
is required):
$ git clone git@github.com:avto-dev/roadrunner-laravel.git ./roadrunner-laravel && cd $_
$ make install
$ make test
Changes log can be found here.
If you will find any package errors, please, make an issue in current repository.
This is open-sourced software licensed under the MIT License.