yii2-extensions/road-runner
最新稳定版本:0.1.0
Composer 安装命令:
composer require yii2-extensions/road-runner
包简介
Yii2 Road Runner runtime.
README 文档
README
RoadRunner
Supercharge your Yii2 applications with RoadRunner blazing-fast HTTP server
High-performance workers, automatic memory management, and seamless PSR-7 integration
Features
Demo
Explore the ready-to-run Yii2 + RoadRunner application template.
Installation
composer require yii2-extensions/road-runner:^0.1.0@dev
Basic Usage
Create your RoadRunner entry point (web/index.php)
<?php declare(strict_types=1); require __DIR__ . '/../vendor/autoload.php'; use yii2\extensions\psrbridge\http\StatelessApplication; use yii2\extensions\roadrunner\RoadRunner; // production default (change to 'true' for development) defined('YII_DEBUG') or define('YII_DEBUG', false); // production default (change to 'dev' for development) defined('YII_ENV') or define('YII_ENV', 'prod'); require __DIR__ . '/../vendor/yiisoft/yii2/Yii.php'; $config = require dirname(__DIR__) . '/config/web.php'; $runner = new RoadRunner(new StatelessApplication($config)); $runner->run();
RoadRunner configuration
Create .rr.yaml in your project root
version: "3" rpc: listen: "tcp://127.0.0.1:6001" server: command: "php web/index.php" relay: pipes http: address: "0.0.0.0:8080" # development-only overrides, remove or set to production values for deploys env: YII_DEBUG: true YII_ENV: dev headers: response: "Cache-Control": "no-cache" middleware: - static # serve files first - gzip # compress dynamic output static: dir: web forbid: - .php - .htaccess pool: num_workers: 1 supervisor: max_worker_memory: 100 jobs: pool: num_workers: 2 max_worker_memory: 100 consume: {} kv: local: driver: memory config: interval: 60 metrics: address: "127.0.0.1:2112"
Start the server
# install RoadRunner binary vendor/bin/rr get # start the server ./rr serve
Important
Your applicaion will be available at http://127.0.0.1:8080 (or http://localhost:8080) or at the address set in
http.address in .rr.yaml.
Development & Debugging
For enhanced debugging capabilities and proper time display in RoadRunner, install the worker debug extension.
composer require --dev yii2-extensions/worker-debug:^0.1
Add the following to your development configuration (config/web.php):
<?php declare(strict_types=1); use yii2\extensions\debug\WorkerDebugModule; if (YII_ENV_DEV) { // configuration adjustments for 'dev' environment $config['bootstrap'][] = 'debug'; $config['modules']['debug'] = [ 'class' => WorkerDebugModule::class, // uncomment the following to add your IP if you are not connecting from localhost. //'allowedIPs' => ['127.0.0.1', '::1'], ]; }
File Upload Handling
For enhanced file upload support in worker environments, use the PSR-7 bridge UploadedFile class instead of the standard Yii2 implementation.
<?php declare(strict_types=1); use yii2\extensions\psrbridge\http\{Response, UploadedFile}; final class FileController extends \yii\web\Controller { public function actionUpload(): Response { $file = UploadedFile::getInstanceByName('avatar'); if ($file !== null && $file->error === UPLOAD_ERR_OK) { $file->saveAs('@webroot/uploads/' . $file->name); } return $this->asJson(['status' => 'uploaded']); } }
Documentation
For detailed configuration options and advanced usage.
Package information
Quality code
Our social networks
License
统计信息
- 总下载量: 1.24k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 9
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: BSD-3-Clause
- 更新时间: 2025-08-01