
把Yii2应用的index.php中的内容放到Worker的代码前面,只是要把run改为init:
<?php
require(__DIR__ . '/../vendor/autoload.php');
require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');
require(__DIR__ . '/../common/config/bootstrap.php');
require(__DIR__ . '/config/bootstrap.php');
$config = yii\helpers\ArrayHelper::merge(
require(__DIR__ . '/../common/config/main.php'),
require(__DIR__ . '/../common/config/main-local.php'),
require(__DIR__ . '/config/main.php'),
require(__DIR__ . '/config/main-local.php')
);
(new yii\web\Application($config))->init(); //改为init同样可以延用Yii2的组件方式和目录结构,注意几点:
1、debug组件不用加载了,加载也没有意思,因为没有request,所以会报错
2、最好也定义一个index.php作为整个workerman的入口,这样可以在main.php加载之前初始化一些YII_DEBUG这样的全局变量。

