讲师中心 微信公众号
AI工具推荐 视频效率加速

Workerman进程意外退出怎么排查_错误日志与master进程日志分析【解答】

浅涛君_8387

浅涛君_8387

发布时间:2026-03-12 22:08:00

|

670人浏览过

|

来源于php中文网

原创

状态码256表明PHP子进程因致命错误(如禁用函数调用、扩展段错误)被内核强制终止,对应信号1,需检查core dump和禁用函数配置。

workerman进程意外退出怎么排查_错误日志与master进程日志分析【解答】

Workerman 进程退出状态码为 256,基本可以确定是 PHP 发生了致命错误(如扩展崩溃、段错误),而非业务代码 throw 的异常。

看 exit with status 256 就该查 core dump 和禁用函数

这个退出码不是 Workerman 自己定义的,而是 Linux 进程退出时由内核返回的:PHP 子进程因严重错误(比如调用了被禁用的函数、扩展 segfault)被强制终止,shell 层面收到的是 256(即 1 ,表示子进程以信号 1 退出,但更常见的是 PHP 崩溃后返回 256,等价于 coredump)。

  • 先运行 curl -Ss http://www.workerman.net/check.php | php —— 它会检测 pcntl、posix、sockets 是否启用,还会报出哪些函数被 disable_functions 拦住了(比如 pcntl_fork、posix_kill 被禁会导致 master 无法管理 worker,直接退出)
  • 检查 PHP 配置:php -i | grep disable_functions,重点确认 pcntl_* 和 posix_* 系列没被禁
  • 如果服务器开了 core dump,去 /proc/sys/kernel/core_pattern 看路径,找对应 core 文件,用 gdb php core.xxx 查崩溃点(但多数生产环境关了这个)

日志里找不到 error?那就得开 Config::$debug = true + error_reporting(E_ALL)

Workerman 默认不把 PHP 错误打到 stdout,尤其在守护进程模式下,display_errors=Off 会让所有 warning/fatal 消失得干干净净。

  • 在 start.php 顶部加两行:ini_set('display_errors', 'on'); error_reporting(E_ALL);
  • 紧接着加上:use Workerman\Config; Config::$debug = true; —— 这能让 Workerman 输出 worker 启动/退出、信号接收、重载等内部动作
  • 别依赖 var_dump() 或 echo:它们输出位置不可控,容易和 Workerman 自身日志混在一起;改用 file_put_contents('/tmp/debug.log', "xxx\n", FILE_APPEND); 更稳
  • 注意:Config::$debug 在新版中主要影响框架行为日志(如 “worker xxx started”),业务逻辑报错仍靠 PHP 原生错误机制

master 进程退出 ≠ worker 异常,要看 ps aux | grep start.php 和 tail -f workerman.log

Workerman 是 master-worker 模型,master 退出整个服务就挂了,但 worker 退出可能只是某个子进程崩了——这两者日志位置、排查路径完全不同。

  • master 日志默认写入 workerman.log(同级目录),内容包括启动、reload、stop、子进程异常退出事件;worker 日志默认不落盘,除非你显式调用 Worker::log() 或自己写文件
  • 用 ps aux | grep start.php 看进程树:如果只剩一个 master 进程(无 worker),说明 worker 全挂了或根本没起来;如果连 master 都没了,大概率是启动脚本第一行就 fatal error 了(比如 require 缺文件)
  • 宝塔用户特别注意:面板里“运行”按钮起的服务,实际是以面板用户身份跑的,很可能没权限读配置、连端口、fork 进程 —— 务必切到命令行用 php start.php start -d 手动试一次

真正卡住人的地方,往往不是日志没开,而是日志写到了你看不到的地方:比如 workerman.log 被写进了 root 目录、error_log 走了 php-fpm 的配置、或者容器里 /tmp 不可写导致 file_put_contents 失败。动手前,先确认「日志到底有没有产生」,比猜原因快得多。

热门AI工具

更多
DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

相关专题

更多
scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1009

2023.10.18

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

3060

2023.10.25

Workerman安装配置教程
Workerman安装配置教程

Workerman安装配置教程专题提供Workerman安装配置、WebSocket开发、TCP通信、异步编程、高并发服务搭建与PHP实时通信开发教程。

206

2026.05.20

Workerman实时通信与长连接开发教程
Workerman实时通信与长连接开发教程

WWorkerman实时通信与长连接开发教程聚合实时通信、聊天室、长连接、消息推送、AI流式输出等Workerman高并发开发内容。

222

2026.05.20

Workerman异步通信与TCP服务器开发
Workerman异步通信与TCP服务器开发

Workerman异步通信与TCP服务器开发专题整理Workerman异步通信、TCP服务、HTTP服务、WebSocket开发与高并发PHP服务器教程。

207

2026.05.20

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

40

2026.10.22

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

20

2026.10.22

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

20

2026.10.22

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

0

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Webman中文手册
Webman中文手册

共0课时 | 0人学习

Workerman官方手册
Workerman官方手册

共0课时 | 0人学习

ThinkPHP5.1完全开发手册
ThinkPHP5.1完全开发手册

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn