Yii RoadRunner Runner
The package contains a bootstrap for running Yii3 applications using RoadRunner.
Requirements
- PHP 7.4 or higher.
Installation
The package could be installed with composer:
composer require yiisoft/yii-runner-roadrunner --prefer-dist
General usage
Get RoadRunner:
./vendor/bin/rr get
Create worker.php
in your application root directory:
declare(strict_types=1);
use App\Runner\RoadRunnerApplicationRunner;
ini_set('display_errors', 'stderr');
require_once __DIR__ . '/vendor/autoload.php';
require_once __DIR__ . '/preload.php';
(new RoadRunnerApplicationRunner($_ENV['YII_DEBUG'], $_ENV['YII_ENV']))->run();
Specify it in your .rr.yaml
:
server:
command: "php /worker.php"
rpc:
listen: tcp://127.0.0.1:6001
http:
address: :8082
pool:
num_workers: 4
max_jobs: 64
middleware: ["static", "headers"]
static:
dir: "/public"
forbid: [".php", ".htaccess"]
headers:
response:
"Cache-Control": "no-cache"
reload:
interval: 1s
patterns: [ ".php" ]
services:
http:
recursive: true
dirs: [ "/" ]
logs:
mode: production
level: warn
Run RoadRunner with the config specified:
./vendor/bin/rr serve -c ./.rr.yaml
Testing
Unit testing
The package is tested with PHPUnit. To run tests:
./vendor/bin/phpunit
Mutation testing
The package tests are checked with Infection mutation framework with Infection Static Analysis Plugin. To run it:
./vendor/bin/roave-infection-static-analysis-plugin
Static analysis
The code is statically analyzed with Psalm. To run static analysis:
./vendor/bin/psalm
License
The Yii yii-runner-roadrunner is free software. It is released under the terms of the BSD License. Please see LICENSE
for more information.
Maintained by Yii Software.