Skip to content

求助:无法引入中间件 Hyperf\SwooleTracker\Middleware\HttpServerMiddleware::class #1

@864838869

Description

@864838869

想用swoole-tracker检测项目内存溢出问题,但是中间件引入就报错;项目是2.2升级到3.0的、swoole_tracker80.so是官网加微信接受的、修改配置引入扩展后引入组件,docker镜像hyperf/hyperf:8.0-alpine-v3.15-swoole-v4.8.7
相关代码:

// app/Controller/IndexController.php
    public function index()
    {
        trackerHookMalloc();
        $this->test_loop();
        return 'Hello Hyperf!!!';
    }

    public function test_loop()
    {
        $this->test_loop();
    }

//config/autoload/middlewares.php
return [
    // http 对应 config/autoload/server.php 内每个 server 的 name 属性对应的值,该配置仅应用在该 Server 中
    'http' => [
        // 数组内配置您的全局中间件,顺序根据该数组的顺序
        Hyperf\SwooleTracker\Middleware\HttpServerMiddleware::class,
        //Hyperf\SwooleTracker\Middleware\HookMallocMiddleware::class,
    ],
];
/etc/php8/conf.d/98_swoole_tracker.ini
[swoole_tracker]
;extension=swoole_tracker.so
;打开总开关
;apm.enable=1
;采样率 例如:100%
;apm.sampling_rate=100
;开启内存泄漏检测时添加 默认0 关闭状态
;apm.enable_memcheck=1

;Tracker从v3.3.0版本开始修改为了Zend扩展
zend_extension=swoole_tracker.so
tracker.enable=0
tracker.sampling_rate=100
tracker.enable_memcheck=1
;Leak检测开关
tracker.enable_malloc_hook=1

报错展示:

[2023-02-27 17:06:56 $726.0]    WARNING Server::check_worker_exit_status(): worker(pid=735, id=0) abnormal exit, status=0, signal=11
A bug occurred in Swoole-v4.8.7, please report it.
The Swoole developers probably don't know about it,
and unless you report it, chances are it won't be fixed.
You can read How to report a bug doc before submitting any bug reports:
>> https://github.com/swoole/swoole-src/blob/master/.github/ISSUE.md 
Please do not send bug reports in the mailing list or personal letters.
The issue page is also suitable to submit feature requests.

OS: Linux 5.10.16.3-microsoft-standard-WSL2 #1 SMP Fri Apr 2 22:23:49 UTC 2021 x86_64
GCC_VERSION: 10.3.1 20211027
OPENSSL_VERSION: OpenSSL 1.1.1l  24 Aug 2021
PHP_VERSION : 8.0.14

Swoole版本、swoole_tacker版本

swoole

Swoole => enabled
Author => Swoole Team <team@swoole.com>
Version => 4.8.7
Built => Feb 18 2022 09:54:34
coroutine => enabled with boost asm context
epoll => enabled
eventfd => enabled
signalfd => enabled
spinlock => enabled
rwlock => enabled
openssl => OpenSSL 1.1.1l  24 Aug 2021
dtls => enabled
http2 => enabled
json => enabled
curl-native => enabled
pcre => enabled
zlib => 1.2.11
brotli => E16777225/D16777225
mutex_timedlock => enabled
pthread_barrier => enabled
async_redis => enabled

Directive => Local Value => Master Value
swoole.enable_coroutine => On => On
swoole.enable_library => On => On
swoole.enable_preemptive_scheduler => Off => Off
swoole.display_errors => On => On
swoole.use_shortname => Off => Off
swoole.unixsock_buffer_size => 8388608 => 8388608

swoole_tracker

swoole_tracker => enabled
debug and profile support => enabled
Version => 3.4.8
Built => May 25 2022 10:19:50
已用的组件
data/eyc3_guard_t1 # composer info | grep hyperf
hyperf/async-queue                 v3.0.0       A async queue component for hyperf.
hyperf/cache                       v3.0.0-rc.17 A cache component for hyperf.
hyperf/code-generator              v0.3.3       Code Generator for Hyperf
hyperf/command                     v3.0.0       Command for hyperf
hyperf/config                      v3.0.0-rc.8  An independent component that provides configuration container.
hyperf/config-aliyun-acm           v3.0.0       An aliyun acm adapter for Hyperf config component.
hyperf/config-center               v3.0.0-rc.13 The abstraction component of config center
hyperf/constants                   v3.0.0       A constants component for hyperf.
hyperf/consul                      v3.0.0       A Consul Client for Hyperf.
hyperf/context                     v3.0.0       A coroutine context library.
hyperf/contract                    v3.0.0       The contracts of Hyperf.
hyperf/coordinator                 v3.0.5       Hyperf Coordinator
hyperf/crontab                     v3.0.0       A crontab component for Hyperf.
hyperf/database                    v3.0.5       A flexible database library.
hyperf/db-connection               v3.0.3       A hyperf db connection handler for hyperf/database.
hyperf/devtool                     v3.0.0       A Devtool for Hyperf.
hyperf/di                          v3.0.0       A DI for Hyperf.
hyperf/dispatcher                  v3.0.0       A HTTP Server for Hyperf.
hyperf/engine                      v1.4.1      
hyperf/event                       v3.0.0       an event manager that implements PSR-14.
hyperf/exception-handler           v3.0.0       Exception handler for hyperf
hyperf/framework                   v3.0.0       A coroutine framework that focuses on hyperspeed and flexible, specifically use for build microservices and middl...
hyperf/guzzle                      v3.0.0       Swoole coroutine handler for guzzle
hyperf/http-message                v3.0.1       microservice framework base on swoole
hyperf/http-server                 v3.0.1       A HTTP Server for Hyperf.
hyperf/ide-helper                  v3.0.0       IDE help files for Hyperf.
hyperf/json-rpc                    v3.0.0       A JSON RPC component for Hyperf RPC Server or Client.
hyperf/load-balancer               v3.0.0       A load balancer library for Hyperf.
hyperf/logger                      v3.0.0       A logger component for hyperf.
hyperf/macroable                   v3.0.0       Hyperf Macroable package which come from illuminate/macroable
hyperf/memory                      v3.0.0       An independent component that use to operate and manage memory.
hyperf/model-cache                 v3.0.3       A model cache component for hyperf.
hyperf/model-listener              v3.0.0       A model listener for Hyperf.
hyperf/nacos                       v3.0.3       Nacos SDK
hyperf/paginator                   v3.0.0       A paginator component for hyperf.
hyperf/pool                        v3.0.0       An independent universal connection pool component.
hyperf/process                     v3.0.0       A process component for hyperf.
hyperf/redis                       v3.0.5       A redis component for hyperf.
hyperf/retry                       v3.0.0       A retry component for hyperf.
hyperf/rpc                         v3.0.1       A rpc basic library for Hyperf.
hyperf/rpc-client                  v3.0.0       An abstract rpc server component for Hyperf.
hyperf/rpc-server                  v3.0.0-rc.13 An abstract rpc server component for Hyperf.
hyperf/server                      v3.0.0       A base server library for Hyperf.
hyperf/service-governance          v3.0.0       A service governance component for Hyperf.
hyperf/service-governance-nacos    v3.0.0       A nacos adapter for service governance.
hyperf/swoole-tracker              v3.0.0       A swoole tracker library for Hyperf.
hyperf/task                        v3.0.0       A task library for Hyperf.
hyperf/testing                     v3.0.1       Testing for hyperf
hyperf/utils                       v3.0.5       A tools package that could help developer solved the problem quickly.
hyperf/websocket-client            v3.0.0-rc.13 A websocket client library for Hyperf.
hyperf/websocket-server            v3.0.0       A websocket server library for Hyperf.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions