把yii2应用的index.php中的内容放到worker的代码前面,只是要把run改为init:
<?phprequire(__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这样的全局变量。
以上就是将yii2和workerman结合的方法的详细内容。
