求助:无法引入中间件 Hyperf\SwooleTracker\Middleware\HttpServerMiddleware::class
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 20/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- docker, php
- Lĩnh vực
- backend, observability
Hướng nghiên cứu
Tái hiện crash bằng cách sử dụng app/Controller/IndexController.php, config/autoload/middlewares.php, image hyperf/hyperf:8.0-alpine-v3.15-swoole-v4.8.7 và các phiên bản Swoole Tracker và Swoole được liệt kê. So sánh quá trình khởi động khi cấu hình middleware và tracker được bật, sau đó kiểm tra output signal-11 của worker. Hoàn tất khi đã xác định được nguyên nhân tương thích hoặc cấu hình và ghi lại một setup đã được xác minh hoặc thay đổi cần thiết.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
想用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 <[email protected]>
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.
- Ngôn ngữ chính
- PHP
- Star
- 17
- Fork
- 5
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của hyperf/swoole-tracker
-
swoole trace 官网打开404Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 20/100
hyperf/swoole-tracker#3 · 3 bình luận ·
Tất cả issue của hyperf/swoole-tracker
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 79/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 84/100
mailcow/mailcow-dockerized#7652 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
Maintainer thường phản hồi trong vòng 3 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 91/100
benjaminkott/bootstrap_package#1675 ·