笔记 · · 240 阅读

workman&YII2 启动

踩过坑的朋友遇到以下情况:

1.

解决办法:这是在Events.php中使用了命名空间导致的 ,去掉namespace

2.

找不到模型,试过composer    composer dumpautoload


  "autoload": {
    "psr-4": {
      "App\\": "App/"
    },
    "classmap": [
      "App/Library",
      "App/Service"
    ]
  }
这种方式,但是出现了


不知道如何下手

3.

感谢:https://blog.csdn.net/thy38/article/details/54090242

其实挺简单的,就是把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
将这段代码放到workman服务启动文件中,根据自己的项目index.php稍作修改即可


至此,成功启动,完结。