Swoole 报错 NOTICE swFactoryProcess_finish (ERROR 1004): send 76 byte failed,
发表于|更新于|踩坑教训
记录下swoole 抛错
NOTICE swFactoryProcess_finish (ERROR 1004): send 76 byte failed, because connection[fd=40] |
表示连接已经被关闭了,所以send会失败, 客户端的问题跟服务端没关系 , 当然 如果你fd 用错了 就呵呵了
文章作者: Leon
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Leon!
相关推荐
2022-03-08
Swoole 出现 deadlock 字样
=================================================================== [FATAL ERROR]: all coroutines (count: 1) are asleep - deadlock!=================================================================== [Coroutine-1]--------------------------------------------------------------------#0 Swoole\Coroutine\Http\Client->recv() called at [/opt/webserver/vendor/swlib/saber/src/WebSocket.php:102]#1 Swlib\Saber\WebSocket->recv() called at [/opt/webserver/script/src/Task/BinanceContract.php:133]#...
2019-12-12
Swoole v4.2.11 enable_coroutine=true 协程开启失败问题 记录
Swoole v4.2.11 enable_coroutine=true 协程开启失败问题记录在使用 Swoole v4.2.11 版本时,开启协程(enable_coroutine=true)可能会遇到一些问题,导致协程无法正常启动。本文将记录一些可能导致协程开启失败的常见问题以及解决方法。 1. PHP 版本兼容性问题Swoole 在不同的 PHP 版本下可能存在兼容性问题,特别是在启用协程功能时。建议使用 Swoole 官方推荐的 PHP 版本,并确保 PHP 扩展和 Swoole 版本匹配。可以通过以下命令查看 PHP 版本: php -v 2. Swoole 配置检查确保在 Swoole 的配置文件中正确启用了协程。可以检查 swoole.ini 或 php.ini 文件中是否包含以下配置项: [swoole]enable_coroutine = true 3. 协程使用姿势不正确在使用 Swoole 协程时,需要遵循一些特定的编程规范和注意事项。例如,协程中不能使用阻塞式的网络操作,否则可能导致协程无法正常执行。需要使用 Swoole 提供...
2017-01-01
使用EasySwoole 1.2搭建Echo服务器
使用EasySwoole 1.2搭建Echo服务器在本篇博客中,我们将介绍如何使用EasySwoole 1.2框架搭建一个简单的Echo服务器。EasySwoole是一个高性能的PHP框架,专注于异步、协程和高并发的开发。 准备工作在开始之前,确保你已经安装了PHP和Composer,并具备基本的PHP开发知识。 步骤一:创建项目首先,我们需要创建一个新的EasySwoole项目。在命令行中执行以下命令: composer create-project easyswoole/easyswoole=1.2.x-dev 这将创建一个名为easyswoole的项目,并安装所需的依赖项。 步骤二:配置服务器进入项目目录,并打开dev.php文件,配置服务器相关的设置。我们将使用Echo服务器作为示例。 // dev.phpreturn [ 'SERVER_NAME' => 'EasySwoole', 'MAIN_SERVER' => [ 'LISTEN_ADDRESS...
2023-12-25
Swoole WARNING Worker_discard_data (ERRNO 1007): [2] ignore data
Swoole WARNING Worker_discard_data (ERRNO 1007): [2] ignore data 常见于: 浏览器疯狂刷新页面 (还没加载完就刷掉了)ab 压测到一半取消wrk 基于时间的压测 (时间到了未完成的请求会被取消)以上几种情况均属于正常现象,可以忽略,所以该错误的级别是 NOTICE 如由于其它情况无缘无故出现大量连接断开时,才需要注意 WARNING swWorker_discard_data (ERRNO 1007): [2] received the wrong data[21 bytes] from socket#75WARNING Worker_discard_data (ERRNO 1007): [2] ignore data[5 bytes] received from session#2Copy to clipboardErrorCopied 同样的,这个错误也表示连接已经关闭了,收到的数据会被丢弃。参考 discard_timeout_request discard_timeout_request丢弃已关闭链接的...
2019-04-01
Swoole 报错 `WARNING php_swoole_trace_check: PTRACE_ATTACH`
在使用 Swoole 时,您可能会遇到类似于以下的警告信息: WARNING php_swoole_trace_check: PTRACE_ATTACH 这个警告通常与 Swoole 的调试和追踪功能有关,特别是在使用 ptrace 系统调用时。ptrace 是一个用于调试和追踪进程的系统调用,Swoole 使用它来实现一些功能,如性能分析和错误跟踪。 1. 原因分析1.1 权限问题该警告通常是因为当前用户没有足够的权限来附加到其他进程。ptrace 调用需要一定的权限,尤其当您尝试附加到一个不属于当前用户的进程时。 1.2 SELinux 设置在某些 Linux 发行版上(如 CentOS 和 Fedora),如果启用了 SELinux,可能会导致 ptrace 被限制,从而引发此警告。 2. 解决方案以下是一些解决此问题的常见方法: 2.1 检查用户权限确保您以适当的权限运行 PHP 脚本。您可以尝试使用 sudo 运行脚本,看看是否能解决问题。 sudo php your_script.php 2.2 修改 SELinux 设置如果您在使用 SELinux,可以通过...
2024-02-23
[踩坑] Swoole . http response is unavailable (maybe it has been ended or detached)
今天查看 /var/log/php_error.log 抛错如下: [23-Feb-2024 13:17:34 Asia/Shanghai] PHP Warning: Swoole\Http\Response::header(): http response is unavailable (maybe it has been ended or detached) in ../Listen/Http.php on line 216[23-Feb-2024 13:17:34 Asia/Shanghai] PHP Warning: Swoole\Http\Response::end(): http response is unavailable (maybe it has been ended or detached) in ../Listen/Http.php on line 218 问题很明显 http response is unavailable (maybe it has been ended or detached译 : http响应不可用(可能已结束或分离) ...
评论
公告
记录技术实践,分享学习与思考。



