Error: Class 'support\Model' not found in D:\www\webman\app\admin\model\MemberModel.php:6
Stack trace:
Worker process terminated
process D:\www\webman\gateway\start_businessworker.php terminated and try to restart
ChatBusinessWorker none
根據(jù)你的情況,有兩個問題要解決。
1.DB 類所在的 support 命名空間并不是通過 composer 自動加載的,而是 webman 框架處理的,但是你用 gateway 的 Events 時候,并沒用經(jīng)過 webman 處理,所以要先解決 support 命名空間的問題。 在 composer.json 的 autoload 中加上support,如下:
"autoload": {
"psr-4": {
"app\\": "app/",
"support\\": "support/"
},
"files": [
"./support/helpers.php"
]
},
2.Db類并不能直接使用,而是在 webman 的 Bootstrap 中對 illuminate/database 又封裝了一次,所以要把 Bootstrap 重新執(zhí)行一下。在 BusinessWorker 的onWorkerStart中處理一下。
foreach (config('bootstrap', []) as $class_name) {
/** @var \Webman\Bootstrap $class_name */
$class_name::start($worker);
}
這樣在Events中就能使用了。
詳見附件。
https://wenda.workerman.net/question/6460 數(shù)據(jù)庫加載項從webman中獨立出來,單獨初始化,可以和webnan一個時間啟動.在webman 路徑可以隨便調(diào)用數(shù)據(jù)庫,不需要初始化和在composer 里做額外的工作.webman 昨天的問題已完美解決,有類似的問題歡迎兄弟們交流.謝謝兄弟們.