Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
864838869 opened this issue Feb 27, 2023 · 0 comments

Comments

@864838869
Copy link

864838869 commented Feb 27, 2023

想用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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant